BD-2st-1.2-w12.tresc-1.1-Slajd4
Proces optymalizacji zapytań
Jak już wspomnieliśmy, pierwszą fazą przetwarzania zapytań jest faza transformacji zapytania SQL do postaci drzewa wyrażenia logicznego: Celem tej fazy jest również identyfikacja bloków zapytania (odpowiadających zagnieżdżonym zapytaniom lub perspektywom). W kolejnym kroku realizowana jest faza przepisywania zapytania za pomocą transformacji algebraicznych w celu uzyskania tańszego planu wykonania zapytania. W konsekwencji uzyskujemy zbiór najlepszych planów wykonania pojedynczych bloków zapytania. Pozostaje jeszcze problem połączenia bloków, w szczególności, problem zdefiniowania porządku wykonywania operacji połączenia. Wybór kolejności wykonywania operacji połączenia, tzn. wybór uszeregowania operacji połączenia, kończy proces optymalizacji zapytania. Obecnie, przejdziemy do przedstawienia poszczególnych faz przetwarzania zapytań.