Промышленные оптимизаторы запросов переключаются на эвристический или рандомизированный поиск, такой как жадное упорядочивание или GEQO, как только запрос соединяет более примерно дюжины отношений. Это ограничивает время планирования, но часто оставляет планы далеко не лучшими из доступных при той же модели стоимости. Обученные альтернативы, такие как AlphaJoin и HyperQO, могут улучшить качество поиска, но зависят от обучения под конкретную нагрузку, стабильных по распределению шаблонов запросов и внешнего развёртывания с перезаписью хинтов. В исследовании воспроизведения обученные MCTS-системы, которые нам удалось запустить, не улучшили оптимизатор PostgreSQL по умолчанию в этих условиях.
Мы представляем MCTS-Extreme — оптимизатор соединений на основе поиска по дереву Монте-Карло без обучения, который переиспользует собственную модель стоимости PostgreSQL вместо замены её обученными компонентами. Он сочетает правило выбора UCT-Extreme, которое отслеживает лучшее на данный момент решение каждого поддерева, а не его среднее, с настраиваемым параметром формы плана, и работает нативно как расширение планировщика PostgreSQL. Мы оцениваем его против AlphaJoin, HyperQO, а также DPSize и GEQO из PostgreSQL на Join Order Benchmark (JOB), JOB-Complex и подмножестве IMDb-CEB из 200 запросов. В режиме высокой арности, где планировщик уже переключается на GEQO, MCTS-Extreme даёт более быстрые сквозные планы: в 1,47 раза быстрее GEQO на запросах JOB с не менее чем 12 отношениями и в 1,17 раза на независимом срезе IMDb-CEB, при времени планирования, сопоставимом с GEQO.