Optymalizacja zapytań
|
|
- Mirosław Czajka
- 7 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,
Optymalizacja 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
Optymalizacja 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
Optymalizacja 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
Bazy 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
Ję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
INFORMATYKA 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
wykł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
Cwiczenie 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
Bazy 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
Przykł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
Kosztowy 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
Definicja 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,
1 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
Optymalizacja 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.
Teoretyczne 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.
Optymalizacja 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ń.............................
Fazy 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
Podzapytania. 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
Statystyki (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
Ję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
Podzapytania. 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
Optymalizacja. 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
Plan 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
Ję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
Relacyjny 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
< 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
Podzapytania. 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
Modelowanie 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
Autor: 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
Konstruowanie 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
77. 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
Optymalizacja 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,
Podstawy 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
Przestrzenne 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
Fazy 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
Tadeusz 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
Ję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
Wykł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
Model 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
2011-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
sprowadza 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ą
Wprowadzenie 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)
Model 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
Algorytmy 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
SQL 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
Zad. 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.
Laboratorium 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
Indeksy 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
Bazy 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
ang. 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
"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
2012-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
Optymalizacja 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
Indeksowanie 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
Bazy 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
Bazy 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:
INDEKSY 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,
Perspektywy 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ą
Optymalizacja 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
PODSTAWY 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
Optymalizacja 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ę,
INDEKSY. 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
ZASADY 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
Algebra 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
PODSTAWY 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
Integralność 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
Administracja 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
Zapytania, 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
Systemy 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
Ję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ą
Rozproszone 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
Algorytmy 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
Przygotowanie 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ść
Ć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.
Algorytmy 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
SYSTEMY 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
Haszowanie (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
BAZY 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
Optymalizacja 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
Sortowanie 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
Algorytmy 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
Systemy 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
Podstawy 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ń.
WPROWADZENIE 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
Kompresja 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
System 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
System 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
System 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
Systemy 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
Teoretyczne 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
Cwiczenie 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
Teoretyczne 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
2010-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
RBD 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
Indeksy. 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
Algorytmy 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ść
Operacja 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 = Ø) Θ {>, =,
Bazy 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