Порядок джойнов: почему поиск плана взрывается
Автор начал серию из шести частей про join ordering в оптимизаторах запросов. Первая часть объясняет, как выглядит пространство поиска планов и почему его нельзя перебрать целиком.
Пример простой: три таблицы, и два варианта порядка расходятся по стоимости на десять порядков. Для 15 отношений различных деревьев соединения уже около 3,5 · 10^18.
Отсюда и динамическое программирование: DPccp, DPhyp и адаптивные схемы для сотен таблиц. Подвох в том, что всё это опирается на оценку кардинальности, а она регулярно врёт.
🔗 Подробнее
@nuancesprog #Data #Postgres
Post #8085
944

- 👍 2