sql. optymalizacja full, ebooki
[ 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.pldoc.pisz.plpdf.pisz.plmement.xlx.pl
|