[ Pobierz całość w formacie PDF ]
6
Spis treci
Rozdział 4. Zarz"dzanie planami wykonania zapyta% .......................................101
Uniwersalne techniki zarzdzania planem wykonania zapytania..............................................101
Zarzdzanie planami wykonania zapyta= w bazach danych Oracle..........................................114
Zarzdzanie planami wykonania zapyta= w bazach danych DB2..............................................130
Zarzdzanie planami wykonywania zapyta= w bazach danych SQL Server ...........................136
Rozdział 5. Sporz"dzanie diagramów prostych zapyta%.....................................143
Po co stosowa now metod? ..........................................................................................................143
Pełne diagramy zapyta=.....................................................................................................................145
Interpretacja diagramów zapyta=.....................................................................................................164
Uproszczone diagramy zapyta=........................................................................................................166
?wiczenia..............................................................................................................................................169
Rozdział 6. Wyznaczanie najlepszych planów wykonania zapyta%.................173
Efektywne plany wykonania zapyta=..............................................................................................174
Standardowa heurystyczna kolejno4 złczania.............................................................................176
Proste przykłady..................................................................................................................................177
Szczególny przypadek........................................................................................................................187
Skomplikowany przykład..................................................................................................................190
Specjalne zasady postpowania dla szczególnych przypadków.................................................194
?wiczenie..............................................................................................................................................222
Rozdział 7. Tworzenie diagramów i optymalizacja zło,onych zapyta% SQL...225
Niestandardowe diagramy złcze=..................................................................................................226
Zapytania z podzapytaniami.............................................................................................................254
Zapytania z widokami........................................................................................................................267
Zapytania z operacjami na zbiorach.................................................................................................277
?wiczenie..............................................................................................................................................279
Rozdział 8. Dlaczego metoda diagramów działa?................................................281
Argumenty przemawiajce za zagnie"d"onymi ptlami..............................................................281
Wybieranie tabeli Bródłowej..............................................................................................................283
Wybieranie kolejnej tabeli złczenia.................................................................................................287
Podsumowanie.....................................................................................................................................291
Rozdział 9. Przypadki szczególne ............................................................................293
Złczenia zewntrzne..........................................................................................................................293
Złczenie scalajce i indeksy filtrów.................................................................................................299
Brakujce indeksy................................................................................................................................302
Spis treci
7
Złczenia bez filtrów...........................................................................................................................303
Problemy bez rozwizania.................................................................................................................304
Rozdział 10. Rozwi"zania dla pozornie nierozwi"zywalnych problemów .....307
Gdy bardzo szybko jest zbyt wolno .................................................................................................307
Zapytania zwracajce dane ze zbyt wielu wierszy........................................................................312
Zoptymalizowane zapytanie wolno zwracajce jedynie kilka wierszy......................................324
Dodatek A Rozwi"zania 4wicze%.............................................................................329
Rozwizania do rozdziału 5...............................................................................................................329
Rozwizania do rozdziału 6...............................................................................................................333
Rozwizania do rozdziału 7...............................................................................................................339
Dodatek B Pełny proces..............................................................................................343
Uproszczenie zapytania do postaci diagramu................................................................................343
Rozwizywanie diagramu zapytania...............................................................................................347
Sprawdzanie planu wykonania.........................................................................................................349
Zmiana bazy danych...........................................................................................................................352
Zmiana reguł optymalizacji ...............................................................................................................353
Zmiana aplikacji...................................................................................................................................353
Spojrzenie na przykład z odpowiedniej perspektywy..................................................................354
Dodatek C Słownik .....................................................................................................355
Skorowidz .....................................................................................................................367
Tworzenie diagramów
i optymalizacja
złoonych zapyta SQL
Tworzenie diagramów i optymalizacja złoonych zapyta SQL Jak dotd, nauczyli!my
si# optymalizowa$ zapytania na rzeczywistych tabelach oraz tworzy$ dla nich diagramy,
które spełniaj róne wymagania odnoszce si# do normalnych zapyta biznesowych:

Zapytanie przedstawione jest na jednym drzewie.

Drzewo ma jedno *ródło, dokładnie jedn tabel# bez złcze z jej kluczami
głównymi. Wszystkie w#zły, inne ni w#zeł *ródłowy, maj pojedyncze,
skierowane ku nim połczenia ze znajdujcymi si# powyej w#złami
szczegółowymi, ale kady w#zeł moe by$ na szczycie dowolnej ilo!ci
skierowanych ku dołowi połcze.

Wszystkie złczenia maj skierowane ku dołowi strzałki
(złczenia, które s unikalne na jednym z koców).

Złczenia zewn#trzne s niefiltrowane, skierowane ku dołowi, kolejne złczenia
znajdujce si# poniej s take zewn#trzne.

Pytanie, na które zapytanie SQL udziela nam odpowiedzi jest w gruncie rzeczy
pytaniem o encj# znajdujc si# na samej górze (*ródło) drzewa lub odno!nie
agregacji tej encji.

Pozostałe tabele dostarczaj jedynie referencyjnych danych, umieszczonych
w okre!lonej strukturze jedynie przez wzgld na normalizacj#.
Nazwałem zapytania spełniajce powysze warunki
zapytaniami prostymi
, chocia jak
mogli!my si# przekona$ w rozdziale 6., mog one zawiera$ dowoln ilo!$ złcze, a ich
optymalizacja moe by$ całkiem trudna, zwłaszcza w rzadkich przypadkach w#złów
o podobnych współczynnikach filtrowania lub kiedy istnieje ukryte filtrowanie złcze.
226
Rozdział 7. Tworzenie diagramów i optymalizacja złoonych zapyta SQL
Zapytania, które nie maj tak prostej formy b#dziemy nazywa$
zapytaniami złoonymi
.
Jak poka# w tym rozdziale, niektóre złoone zapytania s wynikiem
błdów
: w projekcie
bazy danych, aplikacji lub implementacji. Bł#dy tego typu powoduj, e bardzo łatwo
jest utworzy$ nieprawidłowe zapytanie. W tym rozdziale nauczymy si#, jak rozpoznawa$
anomalie wyst#pujce w diagramie zapytania, które mog by$ ostrzeeniem o istnieniu
bł#du w konstrukcji zapytania. Nauczymy si# równie, jak naprawi$ te funkcjonalne lub
zwizane z projektem bł#dy, przy czym niejednokrotnie zwi#kszenie wydajno!ci b#dzie
efektem ubocznym naszych działa. Poprawki te przekształcaj zazwyczaj zapytanie do
prostej formy lub na tyle do niej zblionej, aby mona zastosowa$ metody przedstawio-
ne w ksice wcze!niej.
Niektóre złoone zapytania wykraczaj poza wszystkie formy, dla których opisywałem
tworzenie diagramów, wykorzystujc podzapytania, widoki lub klauzule, takie jak
UNION
i
UNION ALL
. Takie złoone zapytania maj zazwyczaj du funkcjonalno!$ i s cz#sto
spotykane, musimy wi#c znale*$ metod# na stworzenie dla nich diagramu oraz na ich
optymalizacj#. Cel ten osigniemy poprzez rozwini#cie przedstawionych wcze!niej me-
tod adekwatnych dla prostych zapyta.
Niestandardowe diagramy złcze
Je!li zapytanie zawiera jedynie proste tabele (nie widoki), bez podzapyta, bez klauzul
operacji grupowych, takich jak
UNION
, zawsze mona utworzy$ jaki! diagram zapytania
przez stosowanie metod przedstawionych w rozdziale 5. Jednake zdarza si#, e diagram
ma pewne cechy, które nie pozwalaj na stosowanie opisanego wcze!niej, zwykłego
szablonu drzewa złcze. Opisz# te nieprawidłowo!ci pojedynczo i poka# jak sobie
z nimi radzi$.
Aby zilustrowa$ anomalie, przedstawi# niecałkowite diagramy złcze, w których cz#!ci
nie majce znaczenia dla dyskusji s ukryte za szarymi obłokami. Skupi to nasz uwag#
na t# cz#!$, która odgrywa decydujc rol#, pokae równie uniwersalno!$ przykładu.
Jako konwencj# przyjm# ukrywanie nie majcych znaczenia dla dyskusji cz#!ci szkie-
letu połcze. Liczba szarych połcze i w ogóle ich istnienie nie ma znaczenia dla
przykładu, pokazuje jedynie moliwo!$ wykonania dodatkowych złcze w realnych
przypadkach. Sporadycznie wyst#powa$ b#d czarne połczenia z ukrytymi cz#!ciami
szkieletu zapytania. Połczenia te maj znaczenie dla dyskusji, ale ukryte cz#!ci — nie.
Cykliczne grafy złcze
Jak poradzi$ sobie ze złczeniami, które nie mapuj si# na proste drzewo, ale zawieraj
połczenia tworzce w pewnym miejscu szkieletu p#tl#? Jest kilka okoliczno!ci, w któ-
rych mona napotka$ tego typu diagram. W nast#pnym podrozdziale omówi# cztery
przypadki z rónymi rozwizaniami.
[ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • losegirl.htw.pl