@lightseeker

Почему планировшик сканирует всю таблицу если указан лимит?

У таблицы имеется partitioning по дате. Но при запросе
SELECT * FROM user_rankings_v2 WHERE keyword='test' LIMIT 1

Он сканирует все под-таблицы по очереди, хотя подходящая строка находится где то по середине.
Помогите пожалуйста разобратся
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev Куратор тега PostgreSQL
Седой и строгий
находится где то по середине

Нет никакой середины, если не задан критерий сортировки. Все СУБД хранят данные неупорядоченно.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Ты скорее всего не понял смысл плана. План - это намерения что-то сделать. Но не обязательно он будет сканировать всю таблицу. Если найдет в 1 партишене - то остановится быстрее. Но план это не может показать т.к. у планировщика нет такой информации.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы