Основы проектирования реляционных баз данных

         

Преобразование логики предиката


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

WHERE COL1 > 5 OR (COL2 < 500 AND COL3 >150)

может быть переписано как

WHERE (COL1 > 5 OR COL2 < 500) AND ( COL1 >5 OR COL3 <150).

Конъюнктивная форма является предпочтительнее, так как может быть оценена с помощью метода укороченной цепочки. Набор предикатов в конъюнктивной форме будет истинным только и только тогда, когда каждая компонента с OR будет истинной. Так как число операций сравнения, которое выполняется для запроса, прямо влияет на время CPU, использование метода укороченной цепочки для конъюнктивной формы представления предикатов может сократить число циклов CPU.

Литература: [7], [23].



Содержание раздела