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

Podobne dokumenty
SQL SERVER 2012 i nie tylko:

Internetowe Bazy Danych. dr inż. Roman Ptak Katedra Informatyki Technicznej

Administracja i programowanie pod Microsoft SQL Server 2000

Oracle11g: Wprowadzenie do SQL

Optymalizacja poleceń SQL Metody dostępu do danych

Internetowe Bazy Danych. dr inż. Roman Ptak Katedra Informatyki Technicznej

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła

Politechnika Poznańska TWO

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Optymalizacja poleceń SQL

Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego.

Microsoft SQL Server Podstawy T-SQL

Bazy danych 11. Algorytmy złaczeń. P. F. Góra

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Fizyczna struktura bazy danych w SQL Serwerze

Teoretyczne podstawy informatyki

Optymalizacja poleceń SQL

Indeksowanie w bazach danych

Cwiczenie 4. Połączenia, struktury dodatkowe

Systemy GIS Tworzenie zapytań w bazach danych

Relacyjne bazy danych. Podstawy SQL

Wydajność hurtowni danych opartej o Oracle10g Database

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Wykład XII. optymalizacja w relacyjnych bazach danych

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

STROJENIE BAZ DANYCH: INDEKSY. Cezary Ołtuszyk coltuszyk.wordpress.com

T-SQL w Microsoft SQL Server 2014 i SQL Server 2012

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Autor: Joanna Karwowska

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

STROJENIE PRZETWARZAŃ SAS

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

Administracja i programowanie pod Microsoft SQL Server 2000

SQL SERVER 2016 IN MEMORY

Wykład 6. SQL praca z tabelami 3

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

(a) T (b) N (c) N (d) T

Wykład 5. SQL praca z tabelami 2

Optymalizacja poleceń SQL Wprowadzenie

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Język SQL podstawy zapytań

Zapytania w języku T-SQL w Microsoft SQL Server 2014 i SQL Server 2012 / Itzik Ben-Gan, Dejan Sarka, Adam Machaniec, Kevin Farlee.

Bazy danych 2013/14. Egzamin. (5 pkt). Baza danych przechowuje w relacji binarnej G graf skierowany.

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Optymalizacja zapytań SQL

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Optymalizacja zapytań

Bazy danych 2. Wykład 3. Metodologia projektowania baz danych (projektowanie fizyczne)

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Bazy danych 12. SQL To i owo. Algorytmy złaczeń.

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Cwiczenie 2. Metody dostępu do danych

Replikacje. dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej. Kontakt:

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Stosowanie indeksów ma swoje korzyści, ale bywa również kosztowne.

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Wprowadzenie do baz danych

Oracle PL/SQL. Paweł Rajba.

Rozwiązania wspomagające przetwarzanie wielkich zbiorów danych (VLDB) we współczesnych systemach zarządzania bazami danych

Oracle PL/SQL. Paweł Rajba.

Wykład 05 Bazy danych

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

3. Podzapytania, łączenie tabel i zapytań

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

Ref. 7 - Język SQL - polecenia DDL i DML

Wykład 8. SQL praca z tabelami 5

Bazy danych. dr inż. Arkadiusz Mirakowski

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Systemowe aspekty baz danych

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.

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

Kosztowy optymalizator zapytań

Bazy danych 8. Złaczenia ciag dalszy. Grupowanie.

Tuning SQL Server dla serwerów WWW

Bazy danych. Dr inż. Paweł Kasprowski

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Optymalizacja wydajności SZBD

Wstęp do relacyjnych baz danych. Jan Bartoszek

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

SZKOLENIE: Administrator baz danych. Cel szkolenia

"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz

Fizyczna struktura bazy danych Indeksy Optymalizacja. Fizyczna struktura bazy danych (c.d.) Tadeusz Pankowski

Fazy przetwarzania zapytania zapytanie SQL. Optymalizacja zapytań. Klasyfikacja technik optymalizacji zapytań. Proces optymalizacji zapytań.

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Relacyjne bazy danych. Podstawy SQL

Paweł Rajba

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu "Podstawy baz danych"

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Rozproszone bazy danych 3

Tabela wewnętrzna - definicja

Statystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.

Transkrypt:

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 4 SQLQuery4_2.sql 5 SQLQuery4_3.sql 6 1

Testowe zapytanie do tabeli: Przykładowe zapytanie: Operatory Otrzymane wyniki: SQLQuery4_4.sql 7 http://msdn2.microsoft.com/en-us/library/ms175913.aspx SQLQuery4_5.sql 8 Przykładowe zapytanie dla dwóch złączonych tabel Parsowanie Drzewo zapytania Plan optymalny Wykonanie zapytania SQLQuery4_6.sql 9 10 Fizyczne i logiczne operatory (iteratory) reprezentują wykonanie zapytania lub wyraŝenie w języku operowania danymi (DML) Równoległość fizycznych operatorów do reprezentowania operacji równoległych, są one podzbiorem logicznych i fizycznych operatorów, przedstawiają inny poziom analizy planu wykonania zapytania Operatory kursorów, reprezentują transakcyjne operacje kursorów SQL Select (Result Result) Nonclustered Index_Seek Nested Loops Sort Table Scan Merge Join Clustered Index Seek RID Lookup Top Clustered Index Scan and Key Lookup Compute Scalar Filter Lazy Spool Spool Eager Spool Non clustered index Scan Hash Match Constant Scan Stream Aggregate Transakcyjne elementy języka SQL takie jak: Assign, Declare, If, Select, While i tp. Distribute Streams Repartiti on Streams Gather Streams Bitmap Split 11 12 2

Wymagające duŝej ilości pamięci do wykonania Blokujące zwracające dane dopiero po uzyskaniu wszystkich danych na wejściu Nieblokujące produkujące dane równolegle z procesem otrzymywanych danych na wejściu Table scan SQLQuery4_7.sql 13 14 Clustered index scan Demo SQLQuery4_8.sql 15 16 Clustered index scan Clustered index seek W zasadzie działa w ten sam sposób jak skanowanie tabeli. NaleŜy się zastanowić, czy wszystkie zwrócone wiersze są konieczne, czy teŝ moŝna ograniczyć ich liczbę podając odpowiedni warunek w klauzurze WHERE 17 SQLQuery4_9.sql 18 3

Clustered index seek NonClustered index scan 19 SQLQuery4_10.sql 20 NonClustered index seek Zapytanie do bazy danych bez indeksu niezgrupowanego dla Kolumny EmailAdress SQLQuery4_11.sql 21 SQLQuery4_12.sql 22 Key lookup RID lookup SQLQuery4_13.sql 23 SQLQuery4_14.sql 24 4

RID lookup Compute scalar SQLQuery4_15.sql 25 SQLQuery4_16.sql 26 Sort Stream aggregate SQLQuery4_17.sql 27 SQLQuery4_18.sql 28 Filter Hash match 29 SQLQuery4_19.sql 30 5

Hash match Hash match Czasem moŝliwe jest zastosowanie efektywniejszej metody łączenia tabel jeŝeli: zostaną stworzone i wykorzystane poprawne indeksy zostanie dołączona klauzula WHERE w klauzurze WHERE zostaną zastosowane odpowiednie operatory SQLQuery4_20.sql 31 32 Hashing technika programowa w której dane są konwertowane do symbolicznej formy ułatwiającej efektywne wyszukiwanie danych Hash table struktura danych dzieląca wszystkie elementy na kategorie jednakowej wielkości umoŝliwiająca szybki dostęp do elementów Tabela 1 Tabela 2 Hash Table Poszukiwanie zgodnych wierszy Tabela wynikowa 33 34 Nested loops join Merge join SQLQuery4_21.sql SQLQuery4_22.sql 35 36 6

Merge join Typ łączenia Hash Indeks na łączonych kolumnach Wewnętrzna: nie Zewnętrzna: opcjonalnie Rozmiar łączonych tabel Posortowanie Rodzaj łączenia Dowolny Nie Równozłączenie Merge Obie tabele muszą DuŜe Tak Równozłączenie Nested loop Wewnętrzna: musi Zewnętrzna: niekoniecznie Małe Opcjonalnie Dowolny Demo SQLQuery4_24.sql 37 Ograniczenie zapytania Zapytanie z wielokrotnym złączeniem SQLQuery4_23.sql 39 SQLQuery4_26.sql 40 SQLQuery4_27.sql 41 Diagram_27 42 7

Włączenie tekstowej wersji planu wykonania: Uwaga Włączenie statystyk dla tekstowej wersji: 43 44 Pytania, sugestie: piotr.dziwinski@kik.pcz.pl Demo 45 Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej 46 8