PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Adicione índices para acelerar o Geocoder perto da pesquisa


A lentidão é provavelmente causada por operações matemáticas e não pela busca de dados da tabela. Parte de seus critérios não é contra campos de registro, mas contra o resultado da operação matemática em outros registros, de modo que está se tornando um O(N).

A razão pela qual o Postgres não usa um índice e escolhe Seq scan é porque ele decide que a maioria dos registros da tabela terá que ser buscada durante a consulta. Quando a maioria dos registros na tabela deve ser buscada, os índices podem não trazer muitos benefícios, se houver.

Para acelerar as coisas, você deve considerar o uso de índices espaciais e pesquisa baseada em vizinhança de PostGis ou, alternativamente, Elasticsearch com Consulta de distância geográfica .