Я видел довольно большое изменение в времени отклика относительно запросов 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.