Аннотация:
Рассматривается важная компонента традиционных оптимизаторов запросов в базах данных — стоимостная модель, которая используется для оценки ожидаемой эффективности планов исполнения запросов. Точность модели непосредственно влияет на оптимальность планов, выбираемых оптимизатором, и, как следствие, на итоговую скорость исполнения запросов. Несколько параметров стоимостной модели в современных СУБД, как правило, связаны с производительностью ЦПУ и скоростью ввода/вывода хранения данных и обычно задаются администратором СУБД при настройке системы. Однако эти параметры производительности нестабильны во времени, и потому оценка в отдельной точке может не быть оптимальной для всех режимов работы БД. Предлагаеся адаптивная стоимостная модель (ACM), которая позволяет динамически оптимизировать параметры стоимости планов, связанные с ЦПУ и хранилищем, во время работы БД. Модель непрерывно анализирует статистику исполнения запросов и состояние буферного кэша СУБД и динамически выставляет значение соответствующих параметров стоимости планов без необходимости ручного вмешательства со стороны администратора. Это позволяет адаптироваться к изменениям в нагрузке на систему и выбирать более оптимальные планы для запросов. Описываются основные идеи в реализации ACM и приводятся результаты предварительных экспериментов, показывающих
20%-ное ускорение для бенчмарка TPC-H.