Варианты производительности запросов PostgreSQL LIKE
Я видел довольно большое изменение времени отклика относительноLIKE
запросы к конкретной таблице в моей базе данных. Иногда я получаю результаты в течение 200-400 мс (очень приемлемо), но в других случаях может потребоваться до 30 секунд, чтобы вернуть результаты.
Я это понимаюLIKE
запросы очень ресурсоемки, но я просто не понимаю, почему во времени отклика будет такая большая разница. Я построил индекс btree наowner1
поле, но я не думаю, что это помогаетLIKE
запросы. У кого-нибудь есть идеи?
Пример SQL:
SELECT gid, owner1 FORM parcels
WHERE owner1 ILIKE '%someones name%' LIMIT 10
Я также попробовал:
SELECT gid, owner1 FROM parcels
WHERE lower(owner1) LIKE lower('%someones name%') LIMIT 10
А также:
SELECT gid, owner1 FROM parcels
WHERE lower(owner1) LIKE lower('someones name%') LIMIT 10
С похожими результатами.
Количество строк в таблице: около 95 000