Variáveis de desempenho da consulta LIKE do PostgreSQL
Eu tenho visto uma grande variação nos tempos de resposta em relaçãoLIKE
consultas a uma tabela específica no meu banco de dados. Às vezes, obtenho resultados entre 200 e 400 ms (muito aceitáveis), mas outras vezes pode levar até 30 segundos para retornar os resultados.
Eu entendi aquiloLIKE
as consultas são muito intensivas em recursos, mas eu não entendo porque haveria uma diferença tão grande nos tempos de resposta. Eu construí um índice btree noowner1
campo, mas eu não acho que isso ajuda comLIKE
consultas. Alguém tem alguma ideia?
SQL de amostra:
SELECT gid, owner1 FORM parcels
WHERE owner1 ILIKE '%someones name%' LIMIT 10
Eu também tentei:
SELECT gid, owner1 FROM parcels
WHERE lower(owner1) LIKE lower('%someones name%') LIMIT 10
E:
SELECT gid, owner1 FROM parcels
WHERE lower(owner1) LIKE lower('someones name%') LIMIT 10
Com resultados semelhantes.
Contagem de Linhas da Tabela: cerca de 95.000.