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

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 พ.ย. 2019
  • PGConfRu2019 Александр Кузьменков - «Новые планы выполнения запросов в PostgreSQL 11 и будущих версиях»
    Одна из важных задач СУБД - по декларативному SQL-запросу построить эффективный план его выполнения, используя разные алгоритмы сканирования и объединения таблиц. Над улучшением планирования запросов идёт непрерывная работа. Какие методы применяет PostgreSQL, чтобы получить эффективный план, что нового в этой области в версии 11, и что сейчас находится в разработке? Например, при планировании запроса можно удалять ненужные соединения, или сводить внешние и полусоединения к внутренним. Есть патчи, позволяющие выполнять merge join по пересечению интервалов, или улучшающие оценку селективности соединения с помощью многоколоночной статистики. Если говорить о сканировании отдельных таблиц, покрывающие индексы позволяют чаще использовать index-only scan. Инкрементальная сортировка и более точная оценка стоимости сортировки улучшают планы, где нужен сортированный вывод, например, для GROUP BY и ORDER BY или merge join. Мы обсудим эти и другие подобные оптимизации, которые уже реализованы или находятся в разработке.
    Александр Кузьменков, Postgres Professional, Программист
    Александр занимается разработкой ядра PostgreSQL в компании Postgres Professional. Он работает над вертикальным масштабированием БД и над улучшениями планирования запросов.
    Страница доклада: pgconf.ru/2019/243140
    #PGConfRu #PostgreSQL #Постгрес #СУБД

ความคิดเห็น •