Połączenie (1) Optymalizacja poleceń SQL Część 3. Algorytm nested loops. Połączenie (2)

Podobne dokumenty
Optymalizacja poleceń SQL Wprowadzenie

Semantyka i Weryfikacja Programów - Laboratorium 2 Działania na ułamkach, krotki i rekordy

FUNKCJA KWADRATOWA. RÓWNANIA I NIERÓWNOŚCI DRUGIEGO STOPNIA.

Z INFORMATYKI RAPORT

RBD Relacyjne Bazy Danych

Rys Wyrównanie spostrzeżeń zawarunkowanych jednakowo dokładnych C. KRAKOWIANY

G i m n a z j a l i s t ó w

Optymalizacja poleceń SQL

Optymalizacja poleceń SQL

Elementy znajdujące się w opakowaniu mogą różnić się w zależności od kraju, w którym zakupiono urządzenie. Przewód zasilający do gniazdka ściennego

MODEL ODPOWIEDZI I SCHEMAT OCENIANIA ARKUSZA EGZAMINACYJNEGO II

WYZNACZANIE OGNISKOWEJ SOCZEWEK CIENKICH ZA POMOCĄ ŁAWY OPTYCZNEJ

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Optymalizacja poleceń SQL Metody dostępu do danych

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa

do Regulaminu przyznawania środków finansowych na rozwój przedsiębiorczości w projekcie Dojrzała przedsiębiorczość

KLUCZ PUNKTOWANIA ODPOWIEDZI

WYZNACZNIKI. . Gdybyśmy rozważali układ dwóch równań liniowych, powiedzmy: Takie układy w matematyce nazywa się macierzami. Przyjmijmy definicję:

Leczenie protetyczne z zastosowaniem ruchomych protez częściowych zagadnienia wybrane

Algebra Boola i podstawy systemów liczbowych. Ćwiczenia z Teorii Układów Logicznych, dr inż. Ernest Jamro. 1. System dwójkowy reprezentacja binarna

4. RACHUNEK WEKTOROWY

Wprowadzenie do Sieci Neuronowych Łańcuchy Markowa

Fazy przetwarzania polecenia SQL. Faza parsingu (2) Faza parsingu (1) Optymalizacja poleceń SQL Część 1.

Komisja Egzaminacyjna dla Aktuariuszy LII Egzamin dla Aktuariuszy z 15 marca 2010 r. Część I Matematyka finansowa

PODSTAWY BAZ DANYCH Wykład 3 2. Pojęcie Relacyjnej Bazy Danych

Algorytmy komputerowe. Złożoność obliczeniowa Sortowanie. Mnożenie macierzy. dr inż. Jarosław Forenc

1. Wstęp. Pojęcie grafu przepływowego. Niech pewien system liniowy będzie opisany układem liniowych równań algebraicznych

Iloczyn skalarny

Przykład: QS(tab,0,5); Sortowanie. Mnożenie macierzy. dr inż. Jarosław Forenc

symbol dodatkowy element graficzny kolorystyka typografia

Klucz odpowiedzi do zadań zamkniętych i schemat oceniania zadań otwartych

Metoda List łańcuchowych

III.3 Transformacja Lorentza prędkości i przyspieszenia. Efekt Dopplera

I. INFORMACJE OGÓLNE O PROJEKCIE 1. Tytuł projektu. 2. Identyfikacja rodzaju interwencji

Zbiory rozmyte. logika rozmyta

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

2. Funktory TTL cz.2

4.6. Gramatyki regularne

Całki oznaczone. wykład z MATEMATYKI

Zadania. I. Podzielność liczb całkowitych

Minimalizacja automatu

PRZEŁĄCZNIK MIEJSC POMIAROWYCH PMP

Kodowanie liczb. Kodowanie stałopozycyjne liczb całkowitych. Niech liczba całkowita a ma w systemie dwójkowym postać: Kod prosty

Ćwiczenie zapytań języka bazy danych PostgreSQL

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Elektroniczna aparatura w Laboratorium Metrologii, cz. I

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Oznaczenia: K wymagania konieczne; P wymagania podstawowe; R wymagania rozszerzające; D wymagania dopełniające; W wymagania wykraczające

ZAMKNIĘCIE ROKU 2016 z uwzględnieniem zmian w prawie bilansowym. dr Gyöngyvér Takáts

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL

Klucz odpowiedzi do zadań zamkniętych i schemat oceniania zadań otwartych

Wektor kolumnowy m wymiarowy macierz prostokątna o wymiarze n=1 Wektor wierszowy n wymiarowy macierz prostokątna o wymiarze m=1

Przykład 6.2. Płaski stan naprężenia. Płaski stan odkształcenia.

Podstawy programowania obiektowego

PODSTAWY BAZ DANYCH. 15. Optymalizacja zapytań. 2009/ Notatki do wykładu "Podstawy baz danych"

Montaż żaluzji i rolet

Semantyka i Weryfikacja Programów - Laboratorium 7

DZIAŁ 2. Figury geometryczne

ROR RORS RORM. 2 Prowadzenie rachunku: miesięcznie 4,00 zł 2,00 zł bez opłat 1,00 zł bez opłat. na rachunki prowadzone w innych Bankach 1,00 zł

ZADANIA Z ZAKRESU SZKOŁY PODSTAWOWEJ, GIMNAZJUM I SZKOŁY ŚREDNIEJ

Cwiczenie 4. Połączenia, struktury dodatkowe

Procedury i funkcje składowane

Projektowanie i bezpieczeństwo

R + v 10 R0, 9 k v k. a k v k + v 10 a 10. k=1. Z pierwszego równania otrzymuję R 32475, Dalej mam: (R 9P + (k 1)P )v k + v 10 a 10

Karta oceny merytorycznej wniosku o dofinansowanie projektu konkursowego PO KL 1

Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów.

Zacznij tutaj. a b. Podręcznik szybkiej obsługi DCP-J315W. urządzenie i sprawdź elementy OSTRZEŻENIE UWAGA OSTRZEŻENIE

załącznik nr 3 do uchwały nr V Rady Miejskiej w Andrychowie z dnia 24 lutego 2011 r.

Zwróć uwagę. Czytaj uważnie treści zadań i polecenia. W razie potrzeby przeczytaj je kilka razy.

Zacznij tutaj. a b. Podręcznik szybkiej obsługi DCP-J132W OSTRZEŻENIE UWAGA WAŻNE INFORMACJA OSTRZEŻENIE

MXZ INVERTER SERIA. Jedna jednostka zewnętrzna może obsługiwać do 8 pomieszczeń. Ograniczenie poboru prądu. Efektywność energetyczna: klasa A

Szkice rozwiązań zadań zawody rejonowe 2019

GŁÓWNY URZĄD STATYSTYCZNY, al. Niepodległości 208, Warszawa DS-50 I OCHRONA ZDROWIA W GOSPODARSTWACH DOMOWYCH, Kwestionariusz indywidualny

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego. best in training PRE TEST

OGÓLNE WARUNKI ŚWIADCZENIA ROBÓT BUDOWLANYCH NA RZECZ SM ARKA Z SIEDZIBĄ WE WROCŁAWIU z dnia r

Język PL/SQL. Rozdział 2. Kursory

, 0 Informatyka w Zarządzaniu - test zaliczeniowy Zarządzanie III rok NS 7 Kwietnia 2013

LISTA02: Projektowanie układów drugiego rzędu Przygotowanie: 1. Jakie własności ma równanie 2-ego rzędu & x &+ bx&

PODSTAWY ALGEBRY MACIERZY. Operacje na macierzach

Kursor. Rozdział 10a Kursory. Otwieranie kursora. Deklarowanie kursora

Regulamin współpracy z pasażem

Algorytmy graficzne. Filtry wektorowe. Filtracja obrazów kolorowych

Realizacje zmiennych są niezależne, co sprawia, że ciąg jest ciągiem niezależnych zmiennych losowych,

MATEMATYKA DYSKRETNA (2014/2015) dr hab. inż. Małgorzata Sterna WIELOMIANY SZACHOWE

a) b) Rys Schemat ideowo-konstrukcyjny układu do przykładu 6.1 a) i jego schemat blokowy

Prosta metoda sprawdzania fundamentów ze względu na przebicie

Pasek narzędziowy Symbolic [View Toolbars Math Symbolic] Pasek narzędziowy Modifier [Symbolic Modifiers]

Język PL/SQL Procedury i funkcje składowane

KONKURS MATEMATYCZNY. Model odpowiedzi i schematy punktowania

Oracle PL/SQL. Paweł Rajba.


1. Zestaw do oznaczania BZT i ChZT

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

RÓWNOWAGA CHEMICZNA. Reakcje chemiczne: nieodwracalne ( praktycznie nieodwracalne???) reakcje wybuchowe, np. wybuch nitrogliceryny: 2 C H 2

STYLE. TWORZENIE SPISÓW TREŚCI

Wykład 2. Granice, ciągłość, pochodna funkcji i jej interpretacja geometryczna

Ćwiczenie Rozwiązywanie problemów z konfiguracją sieci VLAN

Struktura energetyczna ciał stałych-cd. Fizyka II dla Elektroniki, lato

Zbiory rozmyte. Teoria i zastosowania we wnioskowaniu aproksymacyjnym

Zacznij tutaj. Podręcznik szybkiej obsługi DCP-J100 DCP-J105 OSTRZEŻENIE UWAGA WAŻNE INFORMACJA OSTRZEŻENIE

Transkrypt:

Połązenie () Optymlizj poleeń SQL zęść. Metody połązeń, metody sortowni, wskzówki Operj inrn zwsze udził iorą dwie tele, jedn zostje nzwn telą zewnętrzną, drug telą wewnętrzną. W przypdku poleeni łąząego więej niż dwie tele (np., i ), połązenie relizowne jest zwsze dl pry tel (np. z, wynik z, lo z i wynik z, itd.). Podstwowe zsdy: główn zsd: kolejność łązeni tel powinn jk njrdziej ogrnizć ziór rekordów optymliztor szuk w ziorze łązonyh tel tkih, któryh połązenie wyprodukuje rekord jeśli znjdzie, te tele są łązone n pozątku w przypdku połązeni zewnętrznego tel zewnętrzn jest umieszzn w kolejnośi z telą wewnętrzną Połązenie () lgorytm nested loops Relizowne przy użyiu jednego z lgorytmów: nested loops, sort merge, hsh join. Wyór lgorytmu zleży od: rozmiru teli, posti wrunku połązeniowego, spodziewnego rozmiru wyniku połązeni, dostępnośi i rozmiru oszru sortowni, wrtośi prmetru odzytu wielolokowego (_FILE_MULTILOK_RE_OUNT). w połązeniu ierze udził mł zęść rekordów relji, istnieje efektywn metod dostępu do dnyh relji wewnętrznej (indeks złożony n kolumnie w wrunku połązeniowym). Główny koszt koszt odzytu rekordów relji zewnętrznej i znlezieni odpowidjąyh rekordów relji wewnętrznej. lgorytm: Relj zewnętrzn Relj wewnętrzn W plnie wykonni relj zewnętrzn pond relją wewnętrzną: NESTE LOOPS relj_zewnętrzn relj_wewnętrzn d e d d e Wynik połązeni 4

lgorytm sort merge () lgorytm sort merge () łązone relje są niezleżne (rk połązeni kluzem oym), wrunek połązeniowy z opertormi: <, <=, >, >= (le nie!=) i duże rozmiry łązonyh relji (zhowuje się lepiej niż nested loop), relj już są posortowne lu nie m potrzey relizji sortowni (o np. istnieje odpowiedni indeks). Główny koszt koszt wzytni ou relji do pmięi i ih posortowni. rk podziłu n relję zewnętrzną i wewnętrzną. lgorytm:. Posortownie ou relji ze względu n wrtośi kolumn w wrunku połązeniowym.. Połązenie rekordów o tyh smyh wrtośih kolumn w wrunku połązeniowym. sortownie złązenie d e e d e d d 5 6 lgorytm hsh join () lgorytm hsh join () wrunek połązeniowy jest wrunkiem równośiowym, i łązone relje o dużym rozmirze lu większ zęść rekordów mniejszej relji ierze udził w połązeniu. Główny koszt zudownie teli hszowej dl relji zewnętrznej i odzyt rekordów z relji wewnętrznej. Relj zewnętrzn mniejsz z relji, njlepiej, jeśli mieśi się w pmięi. W plnie wykonni pierwsz relj, z której zudowno tlię hszową: HSH JOIN relj_zewnętrzn relj_wewnętrzn lgorytm: Relj zewnętrzn FH Tli hszow 0 Funkj_hszują= kolumn_połązeniow mod Relj wewnętrzn d e d d e Wynik 7 8

Operje sortowni () Operje sortowni () SORT ORER Y gdy w poleeniu wyrżenie ORER Y. SORT (HSH) UNIQUE gdy w poleeniu użyto kluzuli ISTINT. SELET * FROM zespoly ORER Y dres ES; SELET ISTINT ett FROM prowniy; SORT GGREGTE gdy w poleeniu wylizn funkji grupow n łym ziorze rekordów. SELET MX(ztrudniony) FROM prowniy; Uwg! Nie możn zkłdć uzyskni posortownego zioru rekordów przy operjh GROUP Y i ISTINT. SORT JOIN przy wykonywniu operji połązeni wg lgorytmu sort merge. SORT (HSH) GROUP Y gdy w poleeniu wylizn funkji grupow dl kilku grup rekordów. SELET ett, VG(pl_pod) FROM prowniy GROUP Y ett; SELET * FROM prowniy JOIN etty ON pl_pod etween pl_min nd pl_mx; 9 0 Zmienne wiązni w poleeniu SQL () Zmienne wiązni w poleeniu SQL () Pozwlją n sprmetryzownie poleeni SQL> vrile zespol numer; SQL> exe :zespol := 0 Proedur PL/SQL zostł zkońzon pomyślnie. SQL> print :zespol ZESPOL ------ 0 SQL> SELET ount(*) FROM PROWNIY WHERE id_zesp = :zespol; OUNT(*) -------- SQL> exe :zespol := 0 Proedur PL/SQL zostł zkońzon pomyślnie. SQL> SELET ount(*) FROM PROWNIY WHERE id_zesp = :zespol; OUNT(*) -------- 7 Umożliwiją wielokrotne użyie tego smego plnu wykonni przy kolejnyh wywołni poleeni z różnymi wrtośimi zmiennej wiązni tzw. współdzielenie kursor (domyślne dziłnie) Przy pierwszym wywołniu poleeni ze zmienną wiązni optymliztor spogląd n wrtość zmiennej elem wygenerowni optymlnego plnu Prolem kolejne wywołni tego smego poleeni z innymi wrtośimi dl zmiennej wiązni mogą przetwrzć dne o innej hrkterystye niż te z pierwszego wywołni Rozwiąznie optymliztor oserwuje kolejne wywołni i podejmuje deyzje, zy dl kolejnego wywołni poleeni z inną wrtośią zmiennej wiązni wygenerowć nowy pln Efekt yć może wiele plnów wykonni dl tego smego poleeni

Wskzówki () Wskzówki () Wskzówki (ng. hints) umożliwiją określenie ezpośrednio w poleeniu nstępująyh elementów pry optymliztor: elu optymlizji, śieżki dostępu do dnyh, kolejnośi łązonyh relji przy operji połązeni, sposou relizji połązeni Wskzówki umieszz się w komentrzu ezpośrednio po kluzulh SELET, INSERT, UPTE, ELETE, przy zym pierwszym znkiem wskzówki musi yć + (plus). SELET /*+ wskzówk */ FROM ; SELET --+ wskzówk FROM ; Wyór elu optymlizji: LL_ROWS przepustowość, FIRST_ROWS zs odpowiedzi (wyofywn od Orle0g), FIRST_ROWS(n) zs odpowiedzi (pierwszyh n krotek). Sposó dostępu do dnyh: FULL (tel) pełne przeglądnięie teli, INEX (tel [indeks]) dostęp z pomoą indeksu, NO_INEX(tel [indeks]) zkznie użyi indeksu, INEX_OMINE (tel [indeks]) dostęp z pomoą indeksu itmpowego, INEX_ES (tel [indeks]) dostęp z pomoą odwróonego przeszukiwni indeksu, Uwg! łędnie sformułown wskzówk nie powoduje łędu wykonni poleeni jest ignorown! 4 Wskzówki () Wskzówki (4) Sposó dostępu do dnyh (d): INEX_FFS (tel [indeks]) dostęp z pomoą szykiego przeszukni indeksu, NO_INEX_FFS(tel [indeks]) zkznie użyi szykiego przeszukni indeksu, INEX_SS (tel [indeks]) dostęp z pomoą przeglądnięi indeksu z pominięiem kolumn, NO_INEX_SS (tel [indeks]) zkznie użyi przeglądnięi indeksu z pominięiem kolumn, INEX_JOIN (tel [indeks] ) wykonnie połązeni indeksów, Kolejność łązeni relji: LEING(tel tel...) określ ziór tel, które mją yć łązone jko pierwsze, ORERE określ, że tele mją yć łązone w tkiej kolejnośi, jk zostły wymienione w kluzuli FROM. 5 lgorytm łązeni relji: USE_NL(tel_wewnętrzn...) - połązenie NESTE LOOPS USE_HSH (tel_wewnętrzn...) - połązenie HSH JOIN USE_MERGE (tel tel...) - połązenie SORT MERGE NO_USE_NL(...), NO_USE_HSH(...), NO_USE_MERGE(...) zkz użyi odpowiedniego lgorytmu. Inne: USE_ONT wymuszenie zstąpieni zpytni z wrunkiem złożonym z opertorem OR przez kilk zpytń, połązonyh opertorem UNION_LL, NO_EXPN zronienie wykonni powyższej trnsformji. NO_QUERY_TRNSFORMTION zkznie wszystkih trnsformji poleeni (przed udową plnu wykonni) YNMI_SMPLING(tel poziom_prókowni) określenie poziomu dynmiznego prókowni (wyższy poziom większy zkres prókowni, zkres: 0-0) 6

Wskzówki (5) Łązenie wskzówek: SELET /*+ LEING(p e) USE_MERGE(p e z) */ * FROM prowniy p NTURL JOIN zespoly z JOIN ETTY e ON pl_pod etween pl_min nd pl_mx WHERE nzw = 'LGORYTMY'; 7