PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Добавете индекси, за да ускорите търсенето в близост до Geocoder

Забавянето вероятно е причинено от математически операции, а не от извличане на данни от таблица. Част от критериите ви не са спрямо полетата със записи, а срещу резултата от математическата операция върху други записи, така че се превръща в O(N).

Причината, поради която Postgres не използва индекс и вместо това избира сканиране на Seq, е, че той решава, че повечето от записите в таблицата ще трябва да бъдат извлечени по време на заявка. Когато повечето записи в таблицата трябва да бъдат извлечени, индексите може да не донесат голяма полза, ако има такива.

За да ускорите нещата, трябва да обмислите използването на пространствени индекси и базирано на близост търсене на PostGis или, алтернативно, Elasticsearch с Заявка за географско разстояние .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Бавно избиране на отделна заявка на postgres

  2. След възстановяване на PostgreSQL получавам отказ за разрешение за релация django_session

  3. Как да настроя SSH тунел в Google Cloud Dataflow към външен сървър на база данни?

  4. Как да създам индекс в PostgreSQL, базиран само на малки букви?

  5. многопараметрична грешка с datetime_select