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.

questionAnswers(7)

yourAnswerToTheQuestion