PGConfRu2019 А. Кузьменков - «Новые планы выполнения запросов в PostgreSQL 11 и будущих версиях»

preview_player
Показать описание
PGConfRu2019 Александр Кузьменков - «Новые планы выполнения запросов в PostgreSQL 11 и будущих версиях»

Одна из важных задач СУБД - по декларативному SQL-запросу построить эффективный план его выполнения, используя разные алгоритмы сканирования и объединения таблиц. Над улучшением планирования запросов идёт непрерывная работа. Какие методы применяет PostgreSQL, чтобы получить эффективный план, что нового в этой области в версии 11, и что сейчас находится в разработке? Например, при планировании запроса можно удалять ненужные соединения, или сводить внешние и полусоединения к внутренним. Есть патчи, позволяющие выполнять merge join по пересечению интервалов, или улучшающие оценку селективности соединения с помощью многоколоночной статистики. Если говорить о сканировании отдельных таблиц, покрывающие индексы позволяют чаще использовать index-only scan. Инкрементальная сортировка и более точная оценка стоимости сортировки улучшают планы, где нужен сортированный вывод, например, для GROUP BY и ORDER BY или merge join. Мы обсудим эти и другие подобные оптимизации, которые уже реализованы или находятся в разработке.

Александр Кузьменков, Postgres Professional, Программист

Александр занимается разработкой ядра PostgreSQL в компании Postgres Professional. Он работает над вертикальным масштабированием БД и над улучшениями планирования запросов.

#PGConfRu #PostgreSQL #Постгрес #СУБД
Рекомендации по теме