Optymalizacja zapytań
|
|
- Mirosław Czajka
- 6 lat temu
- Przeglądów:
Transkrypt
1 Optymalizacja zapytań Charakterystyka środowiska relacyjnej bazy danych 1. Złożone zapytania zawierające wiele elementarnych operacji relacyjnych: selekcji, projekcji, połączenia, porządkowania, itd. select p.nazwisko from pracownicy p, zespoły z where p.id_zesp = z.id_zesp and p.płaca = 7500 and z.budżet > Przemienność operacji relacyjnych (a) π nazwisko (σ płaca=7500 Pracownicy) (σ budżet> Zespoły) (b) π nazwisko (σ płaca=7500 and budżet> (Pracownicy Zespoły)) (c) σ budżet> ((σ płaca=7500 (π nazwisko Pracownicy)) Zespoły) 2. Istnienie wielu alternatywnych logicznie równoważnych metod dostępu (fizyczna niezależność danych) σ płaca=7500 Pracownicy - (k) iteracja po wszystkich danych - (l) indeks drugorzędny Przykład B = 2 kb R(Pracownicy) = 100 B bfr(pracownicy) = 20 R(Zespoły) = 50 B bfr(zespoły) = 40 r(pracownicy) = b(pracownicy) = 500 r(zespoły) = 100 b(zespoły) = 3 (a) σ płaca=7500 Pracownicy = P : iteracja 500 operacji I/O σ budżet> Zespoły = Z : iteracja 3 operacje I/O b(p ) = 2; b(z ) = 1 (P ) (Z ) = PZ: nested loop 3 operacje, b(pz) = 2 π nazwisko (PZ) = wynik: 2 operacje Razem: 508 operacji (b) (Pracownicy) (Zespoły) = PZ: nested loop (Pracownicy = outer, n=10) 650 operacji b(pz) = 770 σ płaca=7500 and budżet> (PZ) = PZ : iteracja 770 operacji I/O, b(pz ) = 2 π nazwisko (PZ) = wynik: 2 operacje Razem: 1422 operacje Kolejność wykonywania elementarnych operacji relacyjnych oraz wybór jednej z alternatywnych metod dostępu ma istotny wpływ na czasy wykonywania zapytań
2 Metody dostępu do danych Operacja selekcji S1. Iteracja: Odczytuj kolejno wszystkie rekordy pliku i sprawdzaj czy wartości ich atrybutów spełniają warunek selekcji. S2. Połowienie binarne: Jeżeli warunek logiczny operacji selekcji odwołuje się do atrybutu porządkującego plik można zastosować bardziej efektywną metodę wyszukiwania. Za pomocą algorytmu połowienia binarnego znajdź pierwszy rekord, który spełnia warunek zapytania. Następnie odczytaj kolejne rekordy spełniające warunek zapytania. S3. Zastosowanie indeksu: Jeżeli na atrybucie występującym w warunku logicznym selekcji jest założony indeks, to korzystając z tego indeksu znajdź wskaźnik na pierwszy rekord spełniający warunek zapytania. Następnie trawersując po liściach indeksu pobieraj kolejne wskaźniki rekordów spełniających warunek zapytania. S4. Zastosowanie funkcji mieszającej: Jeżeli zapytanie zawiera warunek logiczny zawierający atrybut, który jest argumentem funkcji mieszającej i operatorem relacyjnym jest operator "=" zastosuj funkcję mieszającą i wyznacz wskaźnik na szukany rekord. S5. Zastosowanie identyfikatora rekordu: Odczytaj rekord o danym identyfikatorze. Problem: Selektywność zapytania Czy zawsze należy korzystać z dostępnych indeksów lub plików haszowych? Selektywność = card(relacji wynikowej) card(relacji źródłowej) Przykład Relacja Pracownicy liczba rekordów = 2000, atrybut id_prac jest kluczem podstawowym relacji (q1) σ id_prac=120 (PRACOWNICY) selektywność(q1) = 1/2000 = 0,0005 (q2) σ etat=120 (PRACOWNICY) selektywność(q2) = 1/count(distinct etat) (q3) σ płeć='k' OR płaca>50000 (PRACOWNICY) selektywność(q2) = 1001/2000 0,5 (q4)σ płaca IS NOT NULL (PRACOWNICY) selektywność(q3) = 1998/2000 1
3 Estymacja kosztu metod dostępu dla operacji selekcji Koszty będą określane liczbą operacji I/O Liczba rekordów relacji r, liczba bloków zajmowanych przez relację b, selektywność zapytania s, wysokość indeksu h, rząd indeksu q. S1 S2 S3 b/2 (średnio) pomyślne odnalezienie rekordu spełniającego warunek atr = x, gdzie atr jest kluczem relacji b wszystkie pozostałe przypadki, niezależnie od selektywności zapytania log 2 b + s*b h + s q h-1 + s r lub h + s r/q + s r dla indeksu drugorzędnego h + s b dla indeksu podstawowego lub zgrupowanego S4 1 S5 1 Złożone warunki zapytania Koniunkcja warunków prostych S6. Zagnieżdżanie selekcji: Jeżeli w warunku zapytania występują atrybuty, dla których jest dostępna jedna z metod dostępu: S2 do S5, to zastosuj najbardziej selektywną metodę. Następnie odczytując rekordy wyznaczone przez tę metodę sprawdź, które z nich spełniają pozostałe warunki zapytania. S7. Metoda dostępu zdefiniowana na zbiorze atrybutów: Jeżeli dla kilku atrybutów występujących w warunku zapytania w porównaniach równościowych, jest dostępny indeks lub funkcja mieszająca zdefiniowane na konkatenacji tych atrybutów, zastosuj je. S8. Iloczyn logiczny zbiorów identyfikatorów: Jeżeli dla kilku atrybutów występujących w warunku zapytania, są dostępne metody dostępu: S2 do S5, to wyznacz za ich pomocą zbiory identyfikatorów rekordów spełniających poszczególne warunki zapytania. Następnie wyznacz iloczyn logiczny tych zbiorów. Suma warunków prostych S9. Suma logiczna zbiorów identyfikatorów: Jeżeli dla wszystkich atrybutów występujących w prostych warunkach zapytania połączonych operatorem OR, są dostępne metody dostępu: S2 do S5, to wyznacz za ich pomocą zbiory identyfikatorów rekordów spełniających te warunki. Następnie wyznacz sumę logiczną tych zbiorów.
4 Metody łączenia rekordów plików J1. Algorytm Nested loop: Wybierz jeden z plików jako zewnętrzny (outer), a drugi jako wewnętrzny (inner). Dla bufora pamięci o wielkości n bloków wczytuj kolejno do tego bufora po n-1 bloków pliku zewnętrznego. Po każdej operacji odczytu pliku zewnętrznego wczytuj pojedynczo do ostatniego bloku bufora wszystkie bloki pliku wewnętrznego. Spróbuj połączyć znajdujące się w buforze rekordy pliku zewnętrznego z rekordami pliku wewnętrznego. Połączone rekordy umieszczaj w pliku wynikowym. plik zewnętrzny n-1 plik wewnętrzny J2. Bezpośrednie ścieżki dostępu dla dopasowania rekordów: Jeżeli dla atrybutu połączeniowego jednego z plików jest dostępna jedna z metod dostępu: S2 do S5, to odczytuj kolejno wszystkie rekordy drugiego z nich. Dla każdego odczytanego rekordu, korzystając z bezpośredniej ścieżki dostępu znajdź wszystkie rekordy pierwszego pliku o danej wartości atrybutu połączeniowego. J3. Algorytm Sort-merge: Jeżeli łączone pliki są uporządkowane według wartości atrybutu połączeniowego (lub na atrybutach połączeniowych jest założony indeks), przeglądając liniowo obydwa pliki dopasowuj rekordy na podstawie wartości atrybutu połączeniowego. J4. Algorytm Hash-join: Zastosuj funkcję mieszającą na atrybucie połączeniowym dla utworzenia jednego pliku haszowego dla rekordów obydwu łączonych plików. J5. Plik zgrupowany: Korzystając z jednej z metod dostępu odczytaj połączone fizycznie rekordy. n
5 Koszty metod połączenia Selektywność połączenia - JS JS = R c S / R S JS określa rozmiar pliku wynikowego Szczególne przypadki: Dla operacji iloczynu kartezjańskiego JS = 1 Jeżeli warunek połączeniowy relacji R i S jest A = B, gdzie A jest kluczem w relacji R, wtedy R c S S, a więc JS 1/ R Współczynnik selektywności połączenia - JSF JSF jest równy procentowi rekordów danego pliku, dla których warunek połączeniowy jest spełniony Przykłady Plik A: r A = 50 rekordów, b A =10 bloków Plik B: r B = 5000 rekordów, b B = 2000 bloków Bufor pamięci: n = 6 bloków, js = 1/5000, bfr AB = 2 Wysokość indeksu na atrybucie połącz. pliku A: x A =2 Wysokość indeksu na atrybucie połącz. pliku B: x B =4 Rząd drzewa p = 100, q = 75 J1. Liczba odczytanych bloków pliku zewnętrznego = b o Liczba transferów bloków pliku zewnętrznego = b o /(n - 1) Liczba odczytanych bloków pliku wewnętrznego = b i b o /(n - 1) a) Plik B - zewnętrzny, plik A - wewnętrzny b B + (b A b B /(n - 1) ) + (js A B )/bfr AB = ( 10 * 2000/5 ) + 50/2 = 6025 b) Plik A - zewnętrzny, plik B - wewnętrzny b A + (b B b A /(n - 1) ) + (js A B )/bfr AB = 10 + ( 2000 * 10/5 ) + 50/2 = 4035 J3. b A + b B + (js A B )/bfr AB = 2035 J2. JSF = 0,0002; a) b B + (r B (x A + JSF (r A /q+r A ))) + (js A B )/bfr AB = (5000 2,01) + 50/ b) b A + (r A (x B + JSF (r B /q+r B ))) + (js A B )/bfr AB = 10 + (50 5,01) + 50/2 285
6 Drzewo zapytania Realizacja zapytań Struktura hierarchiczna odpowiadająca wyrażeniu algebry relacji: relacje są reprezentowane przez liście hierarchii, a operacje algebry przez węzły wewnętrzne Wykonanie drzewa zapytania Krokowe wykonanie operacji reprezentowanych przez wewnętrzne węzły drzewa zapytania w momencie gdy dostępne są wszystkie argumenty danej operacji. Węzły reprezentujące wykonane operacje są zastępowane relacjami, które powstały jako wynik tych operacji. Wykonanie drzewa zapytania kończy się kiedy wykonana zostanie operacja znajdująca się w korzeniu drzewa i zostanie ona zastąpiona ostatecznym wynikiem zapytania. Realizacja zapytań Kanoniczne drzewo zapytania Analizator składniowy zapytania transluje zapytania zapisane w języku zapytań (np. SQL) na kanoniczne drzewo zapytania. Przykład: SELECT nazwisko FROM pracownicy p, projekty k, udział u WHERE p.id_prac = k.prac AND u.proj = k.id_proj AND u.zatrudniony < ' ' AND k.budżet > π nazwisko σ id_prac=prac AND proj=id_proj AND zatrudniony < ' ' AND budżet > r π nazwisko, nazwa >< id_zesp = id r Udział Pracownicy Zespoły Pracownicy Projekty W ogólności dla danego zapytania istnieje wiele równoważnych drzew zapytania.
7 Optymalizacja zapytań Kolejność wykonywania operacji relacyjnych drzewo zapytania ma wpływ na czas wykonywania zapytania.? Pracownicy π nazwisko, nazwa σ staż_pracy > 10 >< id_zesp = id Zespoły Celem działania optymalizatora zapytań jest transformacja nieefektywnego kanonicznego drzewa zapytania w równoważne logicznie drzewo, którego wykonanie będzie efektywne. Reguły transformacji drzewa zapytania (1) Rozbicie operacji selekcji: zamiana operacji selekcji z warunkiem, który jest iloczynem logicznym warunków składowych, na sekwencję operacji selekcji ze składowymi warunkami zapytania: σ C1 AND C 2 (R) σ C1 (σ C2 (R)), (2) Rozbicie operacji selekcji: zamiana operacji selekcji z warunkiem, który jest sumą logiczną warunków składowych, na sumę operacji selekcji ze składowymi warunkami zapytania: σ C1 OR C 2 (R) σ C1 (R) σ C2 (R). (3) Przemienność operacji selekcji: σ C1 (σ C2 (R)) σ C2 (σ C1 (R)). (4) Sekwencja operacji projekcji: w sekwencji operacji projekcji wszystkie operacje za wyjątkiem pierwszej mogą zostać usunięte: π L1 (π L2 (π L3 (R))) π L 1 (R), gdzie: L 1 L 2 L 3.
8 (5) Przemienność operacji projekcji i selekcji: π A1, A2,..., An (σ C (R)) σ C (π A1, A2,..., An (R)), gdzie: warunek C odwołuje się jedynie do atrybutów A 1, A 2,..., A n. (6) Przemienność operacji połączenia (lub iloczynu kartezjańskiego): R >< C S S >< C R (Rr S Sr R). (7) Przemienność operacji selekcji i połączenia (lub iloczynu kartezjańskiego): σ C (R >< S) (σ C1 (R)) >< (σ C2 (S)) gdzie: C 1 AND C 2 = C. (8) Przemienność operacji projekcji i połączenia (lub iloczynu kartezjańskiego): π L (R >< C S) (π L 1 (R) >< C (π L2 (S)), (10) Łączność operacji połączenia, iloczynu kartezjańskiego, sumy i iloczynu relacji: (R Θ S) Θ T R Θ (S Θ T), gdzie: Θ reprezentuje jedną z wymienionych operacji binarnych. (11) Przemienność operacji selekcji z operacjami sumy, iloczynu i różnicy relacji: σ C (R Θ S) (σ C (R)) Θ (σ C (T)), gdzie: Θ reprezentuje jedną z wymienionych operacji. (12) Przemienność operacji projekcji z operacją sumy relacji: π L (R S) π L (R) π L (T). gdzie: L = A 1, A 2,..., A n, B 1, B 2,..., B m, L 1 = A 1, A 2,..., A n, A n+1,..., A n+k, L 2 = B 1, B 2,..., B m, B m+1,..., B m+p. Atrybuty o indeksach n+1 do n+k i m+1 do m+p, są to atrybuty z poza listy L, do których odwołuje się warunek C. (9) Przemienność operacji sumy i iloczynu relacji: R Θ S S Θ R, gdzie: Θ reprezentuje jeden z operatorów lub.
9 Zasady działania algorytmu optymalizacji zapytań Ogólną zasadą działania algorytmy jest takie przesuwanie węzłów wewnętrznych w drzewie zapytania, aby operacje bardziej restrykcyjne (tzn. takie, których wynikiem są relacje przejściowe o najmniejszym rozmiarze) były wykonywane w pierwszej kolejności. 1. Korzystając z reguły transformacji (1) dziel operacje selekcji na selekcje z warunkami elementarnymi. Ułatwi to przesuwanie wybranych selekcji w dół drzewa zapytania. 2. Korzystając z reguł (3), (5), (7) i (11) opisujących własność przemienności operacji selekcji z innymi operacjami relacyjnymi, przesuń każdą z powstałych operacji selekcji jak najniżej w dół drzewa. π nazwisko σ proj=id_proj r 3. Korzystając z reguły transformacji (10) dotyczącej łączności operacji binarnych zmień kolejność łączenia relacji tak, żeby jako pierwsze były wykonywane operacje na relacjach o najbardziej restryktywnym warunku selekcji. σ budżet > Projekty σ proj=id_proj r π nazwisko σ id_prac=prac r Pracownicy σ zatrudniony < ' ' Udział 4. Połącz iloczyny kartezjańskie relacji z operacjami selekcji, które reprezentują warunki połączeniowe, w operacje połączenia relacji. π nazwisko σ id_prac=prac σ zatrudniony < ' ' >< id_prac=prac r Udział >< proj=id_proj Pracownicy Pracownicy σ budżet > Projekty σ budżet > Projekty σ zatrudniony < ' ' Udział
10 5. Korzystając z reguł (4), (5), (8) i (12) opisujących własności podziału i przemienności operacji projekcji podziel i przesuń operacje projekcji jak najniżej w dół drzewa zapytania. Jeżeli potrzeba twórz nowe operacje projekcji. π id_proj σ budżet > Projekty π prac >< proj=id_proj π nazwisko >< id_prac=prac π id_prac, nazwisko π proj, prac Udział Pracownicy σ zatrudniony < ' ' Kosztowa optymalizacja fizycznych planów zapytań Fizyczny plan zapytania obejmuje: Porządek i łączenie operacji komutatywnych i łącznych. Metodę dostępu dla każdego operatora w planie logicznym. Dodanie operacji nie występujących w planie logicznym, ale niezbędnych dla planu fizycznego (np. sortowania). Sposób przesyłania argumentów między operatorami: składowanie wyników przejściowych lub przesyłanie pojedynczych danych między buforami. σ płaca>5000 PRACOWNICY <IdZesp=IdZesp> ZESPOŁY Nested Loops Full Table Access (Zespoły) Table Access by ROWID (Pracownicy) Index Scan (Płaca)
11 Funkcja kosztu Składniki funkcji kosztu Operacje dyskowe (D): szukanie, czytanie i zapis bloków dyskowych (podstawowa część kosztów) [liczba operacji dyskowych] Zajętość pamięci dyskowej (S): składowanie wyników pośrednich [liczba bloków dyskowych] Czas przetwarzania (P): czas wykonywania algorytmów związanych z metodami dostępu [liczba kroków algorytmu] Zajętość pamięci operacyjnej (M): przydział pamięci na bufory dla operacji sortowania, usuwania duplikatów, nested-loop, itp. [rozmiar przydzielonej pamięci] Koszty komunikacyjne (K): w przypadku wykonywania zapytań w środowisku rozproszonym [liczba przesyłanych bloków danych] Funkcja kosztu: suma ważona składników kosztu Przykładowa funkcja kosztu: Koszt = 0,7*D + 0,05*S + 0,05*P + 0,15*M + 0,05*K Dane wejściowe dla wyznaczania składników funkcji kosztu liczba rekordów w pliku liczba bloków danych zajmowanych przez plik średnia zajętość bloku średnia długość rekordów liczba różnych wartości danego atrybutu wartość minimalna i maksymalna wartość każdego atrybutu rozkład wartości wysokość indeksu liczba liści w indeksie współczynnik uporządkowania indeksowanego atrybutu ANALYZE {TABLE tablica INDEX indeks CLUSTER grono} { COMPUTE STATISTICS ESTIMATE STATISTICS SAMPLE liczba {ROWS PERCENTS} DELETE STATISTICS }
12 Składowanie informacji o rozkładach danych Histogramy danych Podział dziedziny na przedziały o stałej długości: (v 0 v 0 +d) n 0, (v 0 +d v 0 +2d) n 1,... Najczęściej występujące wartości: , , , inne 459 Podział zbioru wartości atrybutu na n podzbiorów o stałej wielkości: ( ) 1, ( ) 2,..., ( ) n Szacowanie rozmiarów pośrednich wyników zapytań Pośrednie wyniki zapytania są argumentami kolejnych operacji relacyjnych Szacowanie rozmiarów selekcji S relacja źródłowa O=σ(S) relacja wynikowa r(r) liczba rekordów relacji R V(R,A) liczba różnych wartości atrybutu A relacji R 1. O=σ A=c (S) r(o)=r(s)/v(s,a) 2. O=σ A<c (S) r(o)=r(s)/3 3. O=σ A c (S) r(o)= r(s) (V(S,A)-1)/V(S,A) 4. O=σ A=c1 and B=c2 (S) r(o)= r(s)/(v(s,a) V(S,B)) 5. O=σ A=c1 or B=c2 (S) r(o)=r(s) (1-(1-1/V(S,A)) (1-1/V(S,B)))
13 Szacowanie rozmiarów połączenia 1. O=R R.X=S.YS r(o)=r(r) r(s)/max(v(r,x),v(s,y)) 2. O=R R.X=S.Y and R.W=S.ZS r(r) r(s) r(o)= (max(v(r,x),v(s,y)) (max(v(r,x),v(s,y)) Urealnienie kosztu operacji dyskowych Na czas wykonywania operacji dyskowych składają się trzy podstawowe składniki: czas szukania ścieżki (s) (10-50 [ms]); czas opóźnienia obrotu (rd); dla prędkości obrotowej p wyrażonej w liczbie obrotów na minutę, czas ten wynosi: rd = (1/2)*(1/p) [min] = (60*1000)/(2*p) [ms]; dla: p = 5400 [rpm], rd = 5,56 [ms]. czas transferu bloku (btt); zależy od rozmiaru ścieżki, rozmiaru transferowanego bloku i prędkości obrotowej dysku. Dla danej prędkości transferu tr czas transferu sektora o rozmiarze B wynosi: btt = B/tr [ms]. Dla ścieżki o rozmiarze 50 kb, i dla prędkości obrotowej dysku 5400 rpm, prędkość transferu danych wynosi: tr = (50*1000)/(60*1000/5400) = 4500 [bajtów/ms]; i dalej dla bloku B=2kB: btt = 0,46 [ms].
14 Wpływ rozkładu danych na czasy wykonywania operacji dyskowych Czas odczytu k bloków rozmieszczonych sekwencyjnie na jednej ścieżce będzie wynosił w tym wypadku: czas sekwencyjnie = s + rd + k * btt [ms]. Czas odczytu k bloków losowo rozrzuconych po dysku będzie wynosił: czas losowo = k * (s + rd + btt) [ms]. Dla k = 25, B = 2 [kb], s =10 [ms], rd = 5,56 [ms], btt = 0,46 [ms]: czas sekwencyjnie = 27,06 [ms], czas losowo = 400 [ms]. Optymalizacja zapytań w oparciu o funkcję kosztów Optymalizacja zapytań polega na znalezieniu optymalnego stanu w przestrzeni stanów zawierającej wszystkie możliwe plany wykonania danego zapytania. Stan optymalny jest to stan o najmniejszej wartości funkcji kosztu. Optymalizator zapytań jest charakteryzowany przez: Reguły transformacji służące do generowania przestrzeni stanów dla danego zapytania. Algorytm przeszukiwania przestrzeni stanów pozwalający na przechodzenie między poszczególnymi stanami. Funkcja kosztu, która jest stosowana do każdego ze stanów.
15 Algorytmy przeszukiwania 1. Algorytmy dokładne pełne przeszukiwanie (exhaustive search) programowanie dynamiczne 2. Algorytmy przybliżone heurystyki optymalizacja składniowa 3. Metaheurystyki - algorytmy kombinatoryczne Iterative Improvement Simulated Annealing Tabu Search Podstawowe pojęcia optymalizacji kombinatorycznej Stan akceptowalny plan wykonania zapytania Przestrzeń stanów zbiór wszystkich możliwych stanów Ruch wygenerowanie i przejście do nowego stanu Sąsiad stan osiągany ze stanu bieżącego za pomocą jednego ruchu Koszt stanu wartość funkcji kosztu dla danego planu zapytania Minimum lokalne stan, dla którego żaden z sąsiadów nie posiada niższego kosztu Minimum globalne stan o najniższym koszcie w przestrzeni stanów - rozwiązanie optymalne
16 Algorytmy kombinatoryczne Iterative Improvement 1. wybierz losowo stan początkowy; 2. przeszukuj przestrzeń stanów przez wykonywanie ruchów, akceptując tylko sąsiadów z niższym kosztem, aż do osiągnięcia minimum lokalnego; 3. powtarzaj kroki 1) i 2) do momentu spełnienia warunku kończącego optymalizację; 4. zwróć najlepsze znalezione minimum lokalne Simulated Annealing 1. wybierz losowo stan początkowy; 2. dobierz początkową temperaturę; 3. redukując stopniowo T przeszukuj przestrzeń stanów, akceptując zawsze sąsiadów z niższym kosztem i akceptując sąsiadów o wyższym koszcie z prawdopodobieństwem równym e- C/T; 4. gdy system zostanie zamrożony, zwróć najlepszy znaleziony stan; Tabu Search 1. wybierz losowo stan początkowy; 2. przeszukuj przestrzeń stanów przez wykonywanie ruchów, pamiętając na liście Tabu ostatnio odwiedzone stany; aby wykonać ruch: wygeneruj zbiór sąsiadów, którzy nie figurują na liście Tabu; wykonaj ruch w stronę najlepszego znalezionego sąsiada; 3. powtarzaj krok 2) do momentu spełnienia warunku kończącego optymalizację; 4. zwróć najlepszy znaleziony stan;
Optymalizacja poleceń SQL Metody dostępu do danych
Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,
Bardziej szczegółowoOptymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD
Optymalizacja zapytań Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Elementy optymalizacji Analiza zapytania i przekształcenie go do lepszej postaci. Oszacowanie
Bardziej szczegółowoOptymalizacja poleceń SQL Wprowadzenie
Optymalizacja poleceń SQL Wprowadzenie 1 Fazy przetwarzania polecenia SQL 2 Faza parsingu (1) Krok 1. Test składniowy weryfikacja poprawności składniowej polecenia SQL. Krok 2. Test semantyczny m.in. weryfikacja
Bardziej szczegółowoOptymalizacja poleceń SQL
Optymalizacja poleceń SQL Przetwarzanie polecenia SQL użytkownik polecenie PARSER słownik REGUŁOWY RBO plan zapytania RODZAJ OPTYMALIZATORA? GENERATOR KROTEK plan wykonania statystyki KOSZTOWY CBO plan
Bardziej szczegółowoBazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36
Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów
Bardziej szczegółowoJęzyk SQL. Rozdział 5. Połączenia i operatory zbiorowe
Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Iloczyn kartezjański, połączenie równościowe, połączenie nierównościowe, połączenie zwrotne, połączenie zewnętrzne, składnia jawna połączeń, składnia
Bardziej szczegółowoINFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe
Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe
Bardziej szczegółowowykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK
wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1 2 3 Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4 Bufory bazy danych. STRUKTURA PROSTA
Bardziej szczegółowoCwiczenie 4. Połączenia, struktury dodatkowe
Cwiczenie 4. Połączenia, struktury dodatkowe Optymalizacja poleceń SQL 1 W niniejszym ćwiczeniu przyjrzymy się, w jaki sposób realizowane są operacje połączeń w poleceniach SQL. Poznamy również dodatkowe
Bardziej szczegółowoBazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji
Plan wykładu Bazy danych Wykład 12: Optymalizacja zapytań. Język DDL, DML (cd) Etapy przetwarzania zapytania Implementacja wyrażeń algebry relacji Reguły heurystyczne optymalizacji zapytań Kosztowa optymalizacja
Bardziej szczegółowoPrzykładowe B+ drzewo
Przykładowe B+ drzewo 3 8 1 3 7 8 12 Jak obliczyć rząd indeksu p Dane: rozmiar klucza V, rozmiar wskaźnika do bloku P, rozmiar bloku B, liczba rekordów w indeksowanym pliku danych r i liczba bloków pliku
Bardziej szczegółowoKosztowy optymalizator zapytań
Kosztowy optymalizator zapytań Marek Wojciechowski, Maciej Zakrzewicz Politechnika Poznańska, Instytut Informatyki marek.wojciechowski@cs.put.poznan.pl maciej.zakrzewicz@cs.put.poznan.pl Streszczenie Praktycznie
Bardziej szczegółowoDefinicja pliku kratowego
Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,
Bardziej szczegółowo1 Wstęp do modelu relacyjnego
Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared
Bardziej szczegółowoOptymalizacja zapytań część II
Optymalizacja zapytań część II Wykład przygotował: Tadeusz Morzy BD wykład 13 Niniejszy wykład jest kontynuacją wykładu poświęconego problemom wykonywania i optymalizacji zapytań w systemach baz danych.
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.
Bardziej szczegółowoOptymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego.
Plan wykładu Spis treści 1 Optymalizacja 1 1.1 Etapy optymalizacji............................... 3 1.2 Transformacja zapytania............................ 3 1.3 Przepisywanie zapytań.............................
Bardziej szczegółowoFazy przetwarzania polecenia SQL. Faza parsingu (2) Faza parsingu (1) Optymalizacja poleceń SQL Część 1.
Fazy przetwarzania polecenia SQL Optymalizacja poleceń SQL Część 1. Fazy przetwarzania polecenia SQL, pojęcie i cel optymalizacji, schemat optymalizacji, plan wykonania polecenia SQL, polecenie EXPLAIN
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoStatystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.
Statystyki (1) Informacje, opisujące dane i struktury obiektów bazy danych. Optymalizacja poleceń SQL Część 2. Statystyki i histogramy, metody dostępu do danych Przechowywane w słowniku danych. Używane
Bardziej szczegółowoJęzyk SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach
Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Ograniczanie rozmiaru zbioru wynikowego, klauzula WITH, zapytania hierarchiczne. 1 Ograniczanie liczności zbioru wynikowego (1) Element standardu
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoOptymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL
Optymalizacja Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Pojęcie i cel optymalizacji, schemat optymalizacji, plan wykonania polecenia SQL, polecenie EXPLAIN PLAN, dyrektywa AUTOTRACE, wybór
Bardziej szczegółowoPlan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.
Plan wykładu 2 BAZY DANYCH Wykład 4: Indeksy. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krętowska Wydział Informatyki PB Pojęcie
Bardziej szczegółowoJęzyk SQL. Rozdział 2. Proste zapytania
Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na
Bardziej szczegółowoRelacyjny model danych
Relacyjny model danych Wykład przygotował: Robert Wrembel BD wykład 2 (1) 1 Plan wykładu Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe BD wykład 2 (2) W ramach drugiego
Bardziej szczegółowo< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >
Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoModelowanie hierarchicznych struktur w relacyjnych bazach danych
Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje
Bardziej szczegółowoKonstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT
Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania
Bardziej szczegółowo77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.
77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele
Bardziej szczegółowoOptymalizacja poleceń SQL
Optymalizacja poleceń SQL Optymalizacja kosztowa i regułowa, dyrektywa AUTOTRACE w SQL*Plus, statystyki i histogramy, metody dostępu i sortowania, indeksy typu B* drzewo, indeksy bitmapowe i funkcyjne,
Bardziej szczegółowoPodstawy Informatyki. Metody dostępu do danych
Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie
Bardziej szczegółowoPrzestrzenne bazy danych Podstawy języka SQL
Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured
Bardziej szczegółowoFazy przetwarzania zapytania zapytanie SQL. Optymalizacja zapytań. Klasyfikacja technik optymalizacji zapytań. Proces optymalizacji zapytań.
1 Fazy przetwarzania zapytanie SQL 2 Optymalizacja zapytań część I dekompozycja optymalizacja generacja kodu wyraŝenie algebry relacji plan wykonania kod katalog systemowy statystyki bazy danych wykonanie
Bardziej szczegółowoTadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
: idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
Bardziej szczegółowoJęzyk SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.
Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. 1 Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym
Bardziej szczegółowoWykład XII. optymalizacja w relacyjnych bazach danych
Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych
Bardziej szczegółowoModel relacyjny. Wykład II
Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji
Bardziej szczegółowo2011-01-20 PLAN WYKŁADU BAZY DANYCH ETAPY PRZETWARZANIA ZAPYTANIA OPTYMALIZACJA ZAPYTAŃ
PLAN WYKŁADU BAZY DANYCH Wykład 11 dr inż. Agnieszka Bołtuć Pojęcie optymalizacji Etapy wykonywania zapytania Etapy optymalizacji Rodzaje optymalizacji Reguły transformacji Procedury implementacyjne Koszty
Bardziej szczegółowosprowadza się od razu kilka stron!
Bazy danych Strona 1 Struktura fizyczna 29 stycznia 2010 10:29 Model fizyczny bazy danych jest oparty na pojęciu pliku i rekordu. Plikskłada się z rekordów w tym samym formacie. Format rekordujest listą
Bardziej szczegółowoWprowadzenie do języka SQL
Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)
Bardziej szczegółowoModel relacyjny. Wykład II
Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane
Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne
Bardziej szczegółowoSQL SERVER 2012 i nie tylko:
SQL SERVER 2012 i nie tylko: Wstęp do planów zapytań Cezary Ołtuszyk coltuszyk.wordpress.com Kilka słów o mnie Starszy Administrator Baz Danych w firmie BEST S.A. (Bazy danych > 1TB) Konsultant z zakresu
Bardziej szczegółowoZad. 1. Systemy Baz Danych przykładowe zadania egzaminacyjne
Zad. 1 Narysuj schemat związków encji dla przedstawionej poniżej rzeczywistości. Oznacz unikalne identyfikatory encji. Dla każdego związku zaznacz jego opcjonalność/obowiązkowość oraz stopień i nazwę związku.
Bardziej szczegółowoLaboratorium Bazy danych SQL 2
Klauzula order by występuje jako ostatnia klauzula w poleceniu select, powoduje posortowanie wierszy będących wynikiem zapytania według wartości atrybutu w niej wskazanego. Domyślnie sortowanie jest według
Bardziej szczegółowoIndeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na
Techniki indeksowania w eksploracji danych Maciej Zakrzewicz Instytut Informatyki Politechnika Poznańska Plan prezentacji Zastosowania indeksów w systemach baz danych Wprowadzenie do metod eksploracji
Bardziej szczegółowoBazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)
Indeksy Wykład przygotował: Robert Wrembel BD wykład 7 (1) 1 Plan wykładu Problematyka indeksowania Podział indeksów i ich charakterystyka indeks podstawowy, zgrupowany, wtórny indeks rzadki, gęsty Indeks
Bardziej szczegółowoang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku
System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej
Bardziej szczegółowo"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz
"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie Krzysztof Jankiewicz Plan Opis schematu dla "kilku słów" Postać polecenia SQL Sposoby dostępu do tabel Indeksy B*-drzewo Indeksy
Bardziej szczegółowo2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew
0-0-6 PLAN WYKŁADU Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew BAZY DANYCH Wykład 9 dr inż. Agnieszka Bołtuć INDEKSY - DEFINICJE Indeksy to pomocnicze struktury
Bardziej szczegółowoOptymalizacja poleceń SQL Statystyki
Optymalizacja poleceń SQL Statystyki 1 Statystyki (1) Informacje, opisujące dane i struktury obiektów bazy danych. Przechowywane w słowniku danych. Używane przez optymalizator do oszacowania: selektywności
Bardziej szczegółowoIndeksowanie w bazach danych
w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy
Bardziej szczegółowoBazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania
Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami
Bardziej szczegółowoBazy danych. Andrzej Łachwa, UJ, /15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 15/15 PYTANIA NA EGZAMIN LICENCJACKI 84. B drzewa definicja, algorytm wyszukiwania w B drzewie. Zob. Elmasri:
Bardziej szczegółowoINDEKSY I SORTOWANIE ZEWNĘTRZNE
INDEKSY I SORTOWANIE ZEWNĘTRZNE Przygotował Lech Banachowski na podstawie: 1. Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka i slide y). 2. Lech Banachowski,
Bardziej szczegółowoPerspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.
Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną
Bardziej szczegółowoOptymalizacja zapytań część I
Optymalizacja zapytań część I Wykład przygotował: Tadeusz Morzy BD wykład 12 Wykład jest poświęcony problemom wykonywania i optymalizacji zapytań w systemach baz danych. Rozpoczniemy od krótkiego wprowadzenia
Bardziej szczegółowoPODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych
PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych 2005/2006 Wykład "Podstawy baz danych" 1 Statyczny model pamiętania bazy danych 1. Dane przechowywane są w pamięci zewnętrznej podzielonej
Bardziej szczegółowoOptymalizacja wydajności SZBD
Optymalizacja wydajności SZBD 1. Optymalizacja wydajności systemu bazodanowego Wydajność SZBD określana jest najczęściej za pomocą następujących parametrów: liczby operacji przeprowadzanych na sekundę,
Bardziej szczegółowoINDEKSY. Biologiczne Aplikacje Baz Danych. dr inż. Anna Leśniewska
INDEKSY Biologiczne Aplikacje Baz Danych dr inż. Anna Leśniewska alesniewska@cs.put.poznan.pl INDEKSY dodatkowe struktury służące przyspieszaniu dostępu do danych, tworzone dla relacji, są jednak niezależne
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Bardziej szczegółowoAlgebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n.
Algebra relacji Definicja 1 (Relacja matematyczna). Relacją R między elementami zbioru D 1 D 2 D n, gdzie przypomnijmy D 1 D 2 D n = {(d 1, d 2,..., d n ) : d i D i, i = 1, 2,..., n}, nazywamy każdy podzbiór
Bardziej szczegółowoPODSTAWY BAZ DANYCH. 15. Optymalizacja zapytań. 2009/ Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 15. Optymalizacja zapytań 1 Optymalizacja zapytań - Przykład Mamy następujące relacje: Dostawcy Id Nazwisko Imie 1 Kowalski Jan 2 Nowak Anna 3 Norek Tadeusz Dostawy Id_dostawcy Data
Bardziej szczegółowoIntegralność danych Wersje języka SQL Klauzula SELECT i JOIN
Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności
Bardziej szczegółowoAdministracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora
Bardziej szczegółowoZapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów.
Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów. Kontakt: piotr.dziwinski@kik.pcz.pl 2 SQLQuery4_1.sql 3
Bardziej szczegółowoSystemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska
Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr letni 2006/07 Plan wykładu Systemy baz
Bardziej szczegółowoJęzyk SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.
Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą
Bardziej szczegółowoRozproszone bazy danych 3
Rozproszone bazy danych 3 Optymalizacja zapytań rozproszonych Laboratorium przygotował: Robert Wrembel ZSBD laboratorium 3 (1) 1 Plan laboratorium Zapytanie rozproszone i jego plan wykonania Narzędzia
Bardziej szczegółowoAlgorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze
Bardziej szczegółowoPrzygotowanie do egzaminu. część I
1 Przygotowanie do egzaminu część I Modelowanie związków encji 2 Narysuj schemat EER dla poniższej rzeczywistości. Oznacz unikalne identyfikatory encji. Dla każdego związku zaznacz jego opcjonalność/obowiązkowość
Bardziej szczegółowoĆwiczenie zapytań języka bazy danych PostgreSQL
Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.
Bardziej szczegółowoAlgorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
Bardziej szczegółowoSYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska
SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska DRZEWO REGRESYJNE Sposób konstrukcji i przycinania
Bardziej szczegółowoHaszowanie (adresowanie rozpraszające, mieszające)
Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy
Bardziej szczegółowoBAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH algebra relacyjna Opracował: dr inż. Piotr Suchomski Wprowadzenie Algebra relacyjna składa się z prostych, ale mocnych mechanizmów tworzenia nowych relacji na podstawie danych relacji. Hdy
Bardziej szczegółowoOptymalizacja poleceń SQL Indeksy
Optymalizacja poleceń SQL Indeksy Indeksy Dodatkowe struktury służące przyspieszaniu dostępu do danych. Tworzone dla relacji, są jednak niezależne logicznie i fizycznie od danych relacji. O użyciu indeksu
Bardziej szczegółowoSortowanie bąbelkowe
1/98 Sortowanie bąbelkowe (Bubble sort) prosty i nieefektywny algorytm sortowania wielokrotnie przeglądamy listę elementów, porównując dwa sąsiadujące i zamieniając je miejscami, jeśli znajdują się w złym
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2
Algorytmy i struktury danych Wykład 6 Tablice rozproszone cz. 2 Na poprzednim wykładzie Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania
Bardziej szczegółowoSystemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bardziej szczegółowoPodstawy języka SQL cz. 2
Podstawy języka SQL cz. 2 1. Operatory zbiorowe a. UNION suma zbiorów z eliminacją powtórzeń, b. EXCEPT różnica zbiorów z eliminacją powtórzeń, c. INTERSECT część wspólna zbiorów z eliminacją powtórzeń.
Bardziej szczegółowoWPROWADZENIE DO BAZ DANYCH
WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z
Bardziej szczegółowoKompresja danych Streszczenie Studia Dzienne Wykład 10,
1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności
Bardziej szczegółowoSystemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku
Systemy plików i zarządzanie pamięcią pomocniczą Koncepcja pliku Metody dostępu Organizacja systemu plików Metody alokacji Struktura dysku Zarządzanie dyskiem Struktura pliku Prosta sekwencja słów lub
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 8a Relacyjny model danych 21.11.2008 Relacyjny model danych Jednym z najważniejszych zastosowań komputerów jest przechowywanie i przetwarzanie informacji. Relacyjny
Bardziej szczegółowoCwiczenie 2. Metody dostępu do danych
Optymalizacja poleceń SQL 1 Cwiczenie 2. Metody dostępu do danych W niniejszym ćwiczeniu przyjrzymy się metodom dostępu do tabel i indeksów używanych w planach wykonywania zapytań. Uwaga! Przed rozpoczęciem
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 8a: Relacyjny model danych http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Relacyjny model danych Jednym z najważniejszych
Bardziej szczegółowo2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA
PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania
Bardziej szczegółowoRBD Relacyjne Bazy Danych
Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji
Bardziej szczegółowoIndeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe
1 Plan rozdziału 2 Indeksy Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny Indeksy wielopoziomowe Indeksy typu B-drzewo B-drzewo B+ drzewo B* drzewo Wprowadzenie 3 Indeks podstawowy
Bardziej szczegółowoAlgorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010
Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność
Bardziej szczegółowoOperacja Teta-złączenia. v1 v1 Θ v2
Operacja Teta-złączenia Dane są: r(r) tabela r o schemacie R, A R s(s) tabela s o schemacie S, B S R i S nie zawierają tych samych nazw (R S = Ø) Θ {>, =,
Bardziej szczegółowoBazy danych 2013/14. Egzamin. (5 pkt). Baza danych przechowuje w relacji binarnej G graf skierowany.
Bazy danych 2013/14. Egzamin Zadanie 1 (5 pkt). Baza danych przechowuje w relacji binarnej G graf skierowany. (a) Napisz formułę logiki pierwszego rzędu ϕ(x, y) bez kwantyfikatorów,, która definiuje zapytanie
Bardziej szczegółowo