Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Семантическая оптимизация запросов СУБД - Упрощение условий и распределение предикатов23 января 2011Оглавление: 1. Семантическая оптимизация запросов СУБД 2. Упрощение условий и распределение предикатов Упрощение условийВыполняется путем преобразования дерева логических операций в КНФ и упрощения полученной логической функции. Преобразования дерева логических операций в КНФ выполняется следующим образом:
P OR = AND OR R = AND
NOT = NOT P AND NOT Q Преобразование продолжается рекурсивно до тех пор, пока дерево не будет состоять из конъюнкций конституэнт 0. Полученная логическая функция находится в конъюнктивной нормальной форме, но избыточна. Для упрощения применяют методы оптимизации логических функций, такие как Эспрессо или Куайна-Мак-Класки. Распределение предикатовРаспределение предикатов выполняется
A.B pred C для которых существует предикат A.B = D.E В результате получаем предикат D.B pred C где C — константа; A,D — отношения; B,E — сравниваемые атрибуты. Данное упрощение выполняется на основе предположения, что исходный предикат A.B pred C может быть эффективней для отношения D.
A.B pred D.E генерируется обратное условие D.E inversed pred A.B для возможности выполнить соединение в обратном порядке. Преобразование дерева условий в пути выборкиПосле упрощения дерева условий каждая конъюнкция в дереве представляет собой путь выборки. Предикаты внутри конъюнкций группируются по принадлежности к отношениям. Для получения итогового результата необходимо объединить результаты каждого из путей выборки. Просмотров: 1794
|