Преобразование логических выражений для оптимизации поиска данных включает в себя ряд процессов:
- Приведение к каноническому виду логического выражения, задающего условие выборки запроса. 1 Как правило, используются либо дизъюнктивная, либо конъюнктивная нормальные формы. 1 Выбор канонической формы зависит от общей организации оптимизатора. 1
- Поиск общих предикатов. 1 Они могут существовать изначально или появиться в процессе нормализации логического условия. 1
- Упрощение логического выражения. 1 Например, за счёт выявления конъюнкции взаимно противоречащих предикатов. 1
- Преобразование в конъюнктивную форму логического выражения раздела WHERE путём применения к нему законов булевой алгебры. 2
Такие преобразования позволяют оптимизатору получать возможность выбора большего числа способов выполнения запросов, которые часто оказываются более эффективными. 1