Планировщик запросов: внутреннее устройство и инструменты диагностики
Планировщик является одним из самых сложных компонентов СУБД PostgreSQL, и, несмотря на его продуманную реализацию, на практике встречаются случаи построения неоптимальных планов. Причем подобные ситуации могут быть настолько нетривиальными, что без понимания внутреннего устройства планировщика невозможно выяснить истинную причину проблемы.
В докладе мы в общих чертах рассмотрим внутреннее устройство планировщика, а также познакомимся с новыми инструментами от сообщества: pg_overexplain, pg_plan_advice и extended_explain. Они позволяют анализировать работу планировщика без отладки исходного кода СУБД PostgreSQL.