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

Защо моят postgis не използва индекс в полето за геометрия?

Не можете да очаквате ST_Distance_Sphere() за да използвате индекс за тази заявка. Вие правите изчисление на съдържанието на полето geom и след това правите сравнение на резултата от изчислението. Базите данни може да не използват индекс в такъв сценарий, освен ако нямате функционален индекс, който прави почти същото изчисление като във вашата заявка.

Правилният начин за намиране на местоположения на дадено разстояние от дадена точка е да използвате ST_DWithin

и




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

  2. Postgres:трябва ли да се създават индекси преди или след попълване на таблици

  3. psycopg2 + pgbouncer. Асинхронен режим с грешка в gevent

  4. PostgreSQL и последователни данни

  5. Приложете „trim()“ и „regexp_replace()“ върху текстов масив