Расширенная оптимизация подзапросов в Oracle


Исключение представлений с группировкой


В этом эксперименте использовался запрос Q8, представляющий собой упрощенный вариант запроса 18 из TPC-H. Метод исключения представлений с группировкой, описанный в подразделе 3.1, позволяет исключить представление с группировкой, устраняя излишние ссылки на таблицу lineitem, что в результате приводит к запросу Q11. Значение константы в предикате раздела HAVING изменялось в пределах от 30 до 300, так что подзапрос возвращал от 2000 до 34000000 строк (это показано на оси X). На рис. 6 представлены результаты эксперимента.

Рис.6. TPC-H Q18, исключение представления

Преобразование к Q11 может представлять проблему для оптимизатора, поскольку предикат раздела HAVING задан на агрегате, и оптимизатору сложно оценить мощность отфильтрованного множества. Если эта оценка будет заниженной, то оптимизатор может выбрать для выполнения соединения метод вложенных циклов, а не метод хеширования, что приведет к снижению производительности.




- Начало -  - Назад -  - Вперед -



Книжный магазин