Administracja i programowanie pod Microsoft SQL Server 2000

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

Administracja i programowanie pod Microsoft SQL Server 2000

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

Wykład XII. optymalizacja w relacyjnych bazach danych

Administracja i programowanie pod Microsoft SQL Server 2000

Optymalizacja zapytań SQL

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

Systemy GIS Tworzenie zapytań w bazach danych

SQL (ang. Structured Query Language)

Optymalizacja poleceń SQL Wprowadzenie

Oracle PL/SQL. Paweł Rajba.

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

Fizyczna struktura bazy danych w SQL Serwerze

Administracja i programowanie pod Microsoft SQL Server 2000

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

Autor: Joanna Karwowska

Administracja i programowanie pod Microsoft SQL Server 2000

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

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

Oracle11g: Wprowadzenie do SQL

Paweł Rajba

Cele. Definiowanie wyzwalaczy

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

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

Paweł Rajba

Indeksowanie w bazach danych

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

1 Instalowanie i uaktualnianie serwera SQL Server

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

Oracle PL/SQL. Paweł Rajba.

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Optymalizacja poleceń SQL

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Optymalizacja poleceń SQL Statystyki

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

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

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

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Microsoft SQL Server Podstawy T-SQL

Instrukcja użytkownika. Aplikacja dla WF-Mag

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Administracja i programowanie pod Microsoft SQL Server 2000

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

Bazy danych 6. Klucze obce. P. F. Góra

Optymalizacja poleceń SQL Metody dostępu do danych

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba.

Oracle11g: Programowanie w PL/SQL

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

3. Podzapytania, łączenie tabel i zapytań

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

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

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Instrukcja użytkownika. Aplikacja dla Comarch Optima

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

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

SQL SERVER 2012 i nie tylko:

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

MODUŁ INTEGRUJĄCY ELEKTRONICZNEGO NADAWCĘ Z WF-MAG SPIS TREŚCI

Optymalizacja poleceń SQL

William R. Stanek. Vademecum administratora. Microsoft. SQL Server Przekład: Krzysztof Szkudlarek

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL

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

Programowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

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

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Program dla praktyki lekarskiej

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

SERWER AKTUALIZACJI UpServ

Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii

Wpływ ustawień parametru wieloblokowego sekwencyjnego czytania danych na czas wykonywania zapytania SQL w bazie danych Oracle 11g

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

Oracle PL/SQL. Paweł Rajba.

Optymalizacja wydajności SZBD

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Teoretyczne podstawy informatyki

Wykład 6. SQL praca z tabelami 3

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

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Oracle PL/SQL. Paweł Rajba.

Instrukcja użytkownika. Aplikacja dla Comarch Optima

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

Microsoft Office 2016 Krok po kroku

Relacyjne bazy danych. Podstawy SQL

ELEMENTY OPTYMALIZACJI ZAPYTAŃ SQL

Microsoft SQL Server 2012 Krok po kroku

Diagnostyka pamięci RAM

Tworzenie zapytań do Microsoft SQL Server

Programowanie obiektów

SERWER AKTUALIZACJI UpServ

SYSTEM EZD v

Przywracanie parametrów domyślnych. Przycisnąć przycisk STOP przez 5 sekund. Wyświetlanie naprzemienne Numer parametru Wartość parametru

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

Transkrypt:

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 zapytań Ustalenie indeksów i ich przydatności dla wykonywanego zapytania Ustalenie indeksów, które mogą zmniejszyć ilość wierszy do przejrzenia Ustalenie optymalnej kolejności złączeń tabel Przegląd różnych planów i wybór tego o najniższym koszcie Utworzenie kolumny ze statystykami W efekcie powstaje plan wykonania zapytania

Wyznaczanie kosztu jest na podstawie liczby operacji WE/WY i czas wykorzystania procesora Celem jest redukcja liczby zwróconych wierszy liczby przeczytanych stron całego czasu wykonania poprzez minimalizację operacji WE/WY i czasu wykorzystania procesora optymalizator nie zwraca większej uwagi na wykorzystanie pozostałych zasobów

Uwaga: przy maszynach wieloprocesorowych optymalizator może rozdzielić wykonanie zapytania na kilka procesorów przy takim rozdziale może dojść do wykorzystania większej ilości zasobów, niż w przypadku wykonania zapytania na jednym procesorze

Etapy wykonania zapytania parsowanie sprawdzana jest składnia wynikiem tego etapu jest drzewo rozbioru zapytania standaryzacja przetworzenie do postaci wygodnej dla optymalizatora wszystkie wykryte zbędne klauzule są usuwane wynikiem jest ustandaryzowane drzewo rozbioru zapytania optymalizacja wybierany jest jeden spośród wielu planów wykonania są trzy fazy: analiza, wybór indeksów, kolejność złączeń

Etapy wykonania zapytania kompilacja zapytanie jest kompilowane do kodu wykonywalnego algorytm dostępu do danych wybierane są optymalne sposoby dostępu do danych (skanowanie tabeli lub wykorzystanie indeksów)

Fazy optymalizacji zapytań Analiza zapytania optymalizator ustala kryteria wyszukiwania (WHERE) i złączenia (JOIN) przez minimalizację wyszukiwań, redukuje liczbę koniecznych do przejrzenia wierszy Wybór indeksów ustalane jest istnienie indeksów dla znalezionych klauzul sprawdzana jest przydatność, czyli m.in. ilość wierszy, która zostanie zwrócona (ustalane na podstawie statystyk) obliczany jest koszt różnych metody dostępu do szukanych wierszy

Fazy optymalizacji zapytań Wybór kolejności złączeń w przypadku samo-złączeń lub złączęń opartych na większej ilości tabeli obliczana jest kolejność, w której złączenia mają zostać wykonane

Buforowanie planu zapytań obszar procedure cache służy do pamiętania planów wykonania zapytań dla danego zapytania istnieją co najwyżej dwa plany wykonania jeden dla wykonania seryjnego jeden dla wykonania równoległego (niezależnie od stopnia równoległości) kontekstem wykonania zapytania są dane specyficzne dla danego wykonania (np. parametry)

Buforowanie planu zapytań przy odpaleniu zapytania, SQL Server najpierw sprawdza, czy nie ma już przygotowanego planu wykonania jeśli jest korzysta z niego, oszczędzając na kompilacji jesli nie ma, tworzy go i umieszcza w buforze

Rekompilacja planu wykonania Wykonywana jest wtedy, gdy plan wykonania przestaje być przydatny Sytuacje, w których dojdzie do rekompilacji planu zmiana struktury tabeli lub widoku (ALTER) odświeżenie statystyk (ręcznie lub automatycznie) usunięcie indeksu wykorzystywanego w planie wywołanie procedury sp_recompile duże zmiany w zawartości tabeli w przypadku tabel z wyzwalaczami: duża zawartość tabel inserted i deleted

Maksymalny czas wykonania zapytania domyślnie każde zapytanie wykonuje się do skutku można ustawić opcję query governor cost limit, która uniemozliwia wykonanie zapytań, które wykonywałyby się za długo procesor zapytań oszacowuje czas wykonania i jeśli jest on większy, niż dopuszczalny, zapytanie nie zostanie wykonane

Ustawienie maksymalnego czas wykonania zapytania dla wszystkich połączań wartość opcji ustawiamy za pomocą procedury sp_configure po ustawieniu nowa wartość jest dostępna od razu bez konieczności restartu serwera dla danego połączenia używamy polecenia SET QUERY_GOVERNOR_COST_LIMIT ustawienie wartości 0 wyłącza limit

Pobieranie planu wykonania Opcje STATISTICS Do wykonania każdego zapytania może zostać dołączona dodatkowa informacja Ustawienie jest w ramach połączenia Do ustawienia używamy polecenia SET STATISTICS rodzaj { ON OFF } Są trzy rodzaje STATISTICS TIME STATISTICS PROFILE STATISTICS IO

Pobieranie planu wykonania Opcje STATISTICS STATISTICS TIME podaje liczbę milisekund sparsowania, kompilacji i wykonania zapytania STATISTICS PROFILE podawany jest profil zapytania, czyli szczegóły dotyczącego jego wykonania

Pobieranie planu wykonania Opcje STATISTICS STATISTICS IO podaje aktywność operacji wejścia/wyjścia w wyniku są następujące kolumny Table: nazwa tabeli scan count: ile razy tabela była przeglądana logical reads: liczba stron pobrana z bufora (cache) physical reads: liczba stron pobrana z dysku cache hit ratio= (logical reads physical reads)/logical reads read-ahead reads: liczba stron umieszczona w buforze (podczas zapytania)

Pobieranie planu wykonania Opcje SHOWPLAN Opcje te włączają tryb wyświetlania szczegółowych informacji dotyczących zapytania W wyniku otrzymujemy strukturę: wyniki umieszczone w wierszach wyniki przybierają strukturę drzewa wyniki reprezentują kroki wykonane przez optymalizator prezentowane wartości oszacowaniami na podstawie statystyk, a nie rzeczywiste wartości z wykonania

Pobieranie planu wykonania Opcje SHOWPLAN Wyniki zawierają następujące informacje: który indeks wykorzystany z którą tabelą kolejność złączeń tabel inne... Do ustawienia mamy dwie opcje: SET SHOWPLAN_ALL { ON OFF } SET SHOWPLAN_TEXT { ON OFF } Wersja ALL zawiera trochę więcej informacji

Pobieranie planu wykonania Graficzna prezentacja planu w Query Analyzer składa się z różnych ikonek reprezentujących kroki do wykonania zapytania strzałki określają kolejność wykonania operacji

Pobieranie planu wykonania Bookmark lookup operator wewnętrzny optymalizatora przy przeglądaniu wierszy, potencjalni kandydaci do wyniku są zapisywaniu na boku (tworzone są do nich zakładki) odzyskiwanie wierszy odbywa się poprzez RID wiersza lub klucz do indeksu zgrupowanego używany zwykle, gdy w klauzuli WHERE jest operator IN, OR, AND

Indeksy i wydajność Indeksy można utworzyć tak, żeby przy zapytaniu nie było potrzeby odwoływać się do stron z danymi oczywistą zaletą jest redukcja odwołań WE/WY Zasady dotyczące takich indeksów indeks musi być niezgrupowany indeks musi zawierać wszystkie kolumny wyniku zastosowanie indeksowanych widoków może prowadzić do indeksowania częściowych sum itp, co z kolei może dać duży wzrost wydajności