Экспериментальная методология
Тестовый набор TPC-D является общеотраслевым стандартным тестовым набором для сложных запросов [TPCD94]. В тестовом наборе имеются два запроса, к которым может быть применена перезапись на основе магических множеств (Query 2 и Query 17). Нас интересовал Query 2, потому что для него имеется большое число вариантов магической перезаписи (он включает соединение многих отношений), в то время как для другого кандидата (Query 17) имеется только один вариант.
В первом эксперименте стартовой точкой является Query 2 из TPC-D. Во внешнем блоке запроса предикаты выборки постепенно изменялись путем их удаления, модификации с целью уменьшения селективности или замены на менее селективные предикаты. Эффект состоял в том, что мощность результата запроса постепенно увеличивалась. Однако реальные таблицы в запросе не изменялись, так что всегда был возможен выбор одних и тех же вариантов SIPS. По мере изменения предикатов разные варианты выбора SIPS становятся оптимальными, и иногда бывает лучше вообще не производить магическую перезапись. Мощность результата запроса грубо связана с возможным эффектом фильтрации вследствие магических множеств; следовательно, мы ожидаем большей пользы от перезаписи на основе магических множеств при меньшей мощности результата. Оптимизатор, усовершенствованный оценочной магической оптимизацией, должен всегда выбирать правильные SIPS для всех запросов.
Мы полностью повторили эксперимент после модификации исходного запроса, использованного в качестве стартовой точки (путем изменения содержимого внутреннего блока запроса). Тем самым, мы смогли исследовать воздействия на разнообразные запросы в контролируемой и понятной манере. Мы также повторили эксперимент после ликвидации некоторых индексов, использованных в исходных планах; это представляет изменение в среде выполнения. Следовательно, изменяется стоимость различных частей запроса. Оценочная магическая оптимизация должна быть в состоянии это распознавать и принимать правильное решение в новой среде.
Эксперименты производились на рабочей станции IBM RS/6000, подключенной к двум дискам. База данных TPCD объемом в 100 Мб (т.е. с коэффициентом масштабирования 0.1 в соответствии со стандартом TPCD) была сгенерирована со всеми уместными индексами. На оси X графиков результатов отмечены варианты запросов, упорядоченные по возрастанию размера результата. В качестве основной метрики производительности использовалось время выполнения запроса. Заметим, что в графиках времени выполнения используется логарифмическая шкала, так что кажущиеся небольшими различия в действительности достаточно значительны. Мы также измеряли время компиляции запроса, чтобы показать накладные расходы на дополнительную работу оптимизатора. Все временные показатели единообразно масштабированы поправочным множителем.