Методы оптимизации выполнения запросов в реляционных СУБД


Семантическая оптимизация запросов - часть 8


Но имеется и принципиальная разница между рассмотренными выше преобразованиями запросов и теми, которые производятся при семантической оптимизации. Основное отличие в том, что когда производятся слияния внутренней формы запроса с внутренней формой представления или внутренними формами ограничений целостности, мы обязаны полностью и однозначно использовать внешнюю информацию.

В случае обработки запроса над представлением, если запрос, определяющий представление содержит условие выборки, то все это условие целиком должно быть добавлено через AND к условию выборки обрабатываемого запроса. Иначе не будет гарантирована точность представления. В случае обработки запроса на модификацию базы данных к логическому условию модификации должны быть добавлены через AND все логические условия соответствующих ограничений целостности. Иначе не будет гарантировано их соблюдение при выполнении запроса. Т.е. в этих случаях преобразования производятся однозначно и независимо от того, будут ли они способствовать оптимизации запроса.

Идея семантической оптимизации в том, что используется набор знаний, которые \2не обязательно\1 использовать при обработке запроса, но использование которых в некоторой комбинации может привести к более оптимальному выполнению запроса. Если считать, например, что семантическая оптимизация имеет дело только со знаниями, представленными в виде ограничений целостности базы данных, то концептуально действия при семантической оптимизации можно понимать следующим образом. Производится множество преобразованных внутренних представлений запроса, причем каждое преобразование использует некоторый поднабор ограничений целостности. Если, например, в базе данных определены два ограничения целостности A и B с логическими условиями F1 и F2, соответственно, и обрабатывается запрос с логическим условием выборки F, то в ходе семантической оптимизации будут получены внутренние представления, эквивалентные запросам с условиями выборки F, F AND F1, F AND F2 и F AND F1 AND F2.

Далее каждое из полученных внутренних представлений подвергается полной дальнейшей обработке, включая логическую оптимизацию и выбор оптимального плана выполнения; и из всех полученных таким образом планов (а все они семантически эквивалентны, т.е.


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



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