Отключить оптимизацию запросов PostgreSQL?

Я столкнулся с необходимостью полностью отключить оптимизацию запросов PostgreSQL только для того, чтобы измерить эффективность применения QO (я хочу увидеть до и после). Я наткнулся на эту тему Как отключить все оптимизации PostgreSQL из 2014, который в основном говорит, что это невозможно. Интересно, изменилось ли что-нибудь с тех пор? Мне бы очень хотелось увидеть сценарий «плохой план» и «хороший план» с существенной разницей.


person Zeruno    schedule 25.03.2020    source источник


Ответы (1)


Вы не можете выполнить запрос без плана, а оптимизатор — это то, что предлагает план. Не существует плана «по умолчанию», который существовал бы в отсутствие оптимизатора.

Вы отключаете все параметры enable_*, кроме enable_seqscan и enable_nestloop.

Или вы можете установить join_collapse_limit и from_collapse_limit как 1, что сильно ограничит возможности оптимизатора.

person jjanes    schedule 25.03.2020