Perlambatan kemungkinan disebabkan oleh operasi matematika dan bukan dengan mengambil data tabel. Bagian dari kriteria Anda tidak bertentangan dengan bidang catatan tetapi bertentangan dengan hasil operasi matematika pada catatan lain sehingga menjadi O(N).
Alasan Postgres tidak menggunakan indeks dan memilih pemindaian Seq adalah karena Postgres memutuskan bahwa sebagian besar catatan tabel harus diambil saat melakukan kueri. Ketika sebagian besar catatan dalam tabel akan diambil, indeks mungkin tidak membawa banyak manfaat jika ada.
Untuk mempercepat, Anda harus mempertimbangkan untuk menggunakan indeks spasial dan pencarian berbasis sekitar PostGis atau, sebagai alternatif, Elasticsearch dengan Kueri Jarak Geo .