У меня есть таблица с ~ 30M кортежами. Таблица выглядит так:Медленный запрос на большой таблице при использовании порядка
id | first_name | last_name | email
-----------------------------------------
1 | foo | bar | [email protected]
Также есть индекс (индекс btree) для first_name и прочее для last_name.
Запрос ниже Наталья принимает около 200 мс для возврата результатов:
SELECT
*
FROM my_table
WHERE (first_name ILIKE 'a%')
LIMIT 10 OFFSET 0
Но следующий Наталья принимает около 15 секунд (добавление заказа по)
SELECT
*
FROM my_table
WHERE (first_name ILIKE 'a%')
ORDER BY last_name asc, first_name asc
LIMIT 10 OFFSET 0
Что я могу сделать, чтобы улучшить производительность последнего запроса?
Индекс last_name, first_name. – jarlh
@jarlh Я попробую, спасибо – Victor
@jarlh написать ответ, чтобы принять этот –