BD-2st-1.2-w13.tresc-1.1-Slajd11

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Szacowanie rozmiarów i współczynnik selektywności (2)

Szacowanie rozmiarów i współczynnik selektywności (2)


Oszacowanie wyniku wykonania zapytania, przedstawionego na poprzednim slajdzie, z którym związany jest zbiór predykatów selekcji (term1, term2, ..., term k), jest zdefiniowane następującym wzorem:

rozmiar wyniku jest równy maksymalnej liczbie krotek * iloczyn wszystkich współczynników selektywności związanych z poszczególnymi predykatami selekcji. Podane powyżej oszacowanie wyniku zapytania zakłada, że predykaty są niezależne, co najczęściej nie jest spełnione w praktyce, ale istotnie ułatwia oszacowanie wyniku.

W jaki sposób obliczana jest wartość współczynnika selektywności dla danego predykatu?

Wartości współczynnika selektywności, dla poszczególnych typów predykatów przedstawiono na slajdzie. Przykładowo, jeżeli predykat term posiada postać „atrybut = wartość”, wówczas wartość współczynnika selektywności wynosi 1/val(atrybut), gdzie val(atrybut) oznacza liczbę różnych wartości danego atrybutu. Załóżmy, że predykat posiada postać „miasto = ‘Konin’ i val(miasto) = 5 (atrybut miasto przyjmuje 5 różnych wartości). Wówczas, szacunkowa liczba krotek spełniających dany predykat wynosi 1/5 liczby krotek. Przykładowo, jeżeli dana relacja Pracownicy posiada 1000 krotek i zapytanie do relacji jest sformułowane następująco:

Select nazwisko

From Pracownicy

Where miasto=’Konin’

Wówczas optymalizator szacuje, że w wyniku zapytania otrzymamy 1/5 * 1000 = 200 krotek.

Oczywiście, ze względu na rozkład wartości atrybutu miasto , podane oszacowanie może się istotnie różnić od rzeczywistego rozmiaru wyniku.


<< Poprzedni slajd | Spis treści | Następny slajd >>