первичному ключу идет
Если Пг считает что все равно надо будет всю таблицу прочесть (80% от нее, условно), то он забьет на индекс за ненадобностью.
почему он думает что всю таблицу надо будет прочесть? возможно всего 3 записи из миллиона надо прочесть
Потому что у него есть статистика. Почитайте о том как Пг выбирает как выполнять запросы.
т.е. будут разные планы выполнения в зависимости от количества данных? интересно, не встречал такое, я из мира MSSQL
Да. Более того, из-за характера данных может быть выбран разный механизм выполнения запроса. Поэтому важно правильно настраивать косты в конфиге Пг
получается можно зафорсить использовать индекс скан там где возможно?
В любом из "миров" SQL-СУБД такого навалом (это основы планирования запросов, если что). ;)
поставьте effective_cache_size=150GB
я не бд инженер, я по программухе:)
Обсуждают сегодня