Microsoft SQL Server 2014 Optymalizacja zapytan.pdf

(2299 KB) Pobierz
Tytuł oryginału: Microsoft® SQL Server® 2014 Query Tuning & Optimization
Tłumaczenie: Jakub Hubisz
ISBN: 978-83-283-1162-6
Original edition copyright © 2015 by Benjamin Nevarez.
All rights reserved.
Polish edition copyright © 2015 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/sql14o.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/sql14o
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Podzi kowania .......................................................................................................................... 11
Wprowadzenie .......................................................................................................................... 13
Rozdzia 1.
Wprowadzenie do optymalizacji zapyta
................................................................. 17
Architektura ............................................................................................................................... 19
Parsowanie i przypisywanie .............................................................................................. 21
Optymalizacja zapyta ..................................................................................................... 21
Generowanie mo liwych planów zapyta ......................................................................... 22
Okre lanie kosztu ka dego z planów ................................................................................ 23
Wykonywanie zapyta i przechowywanie planów ............................................................. 23
Plany wykonania ....................................................................................................................... 25
Plany graficzne ................................................................................................................ 26
XML ................................................................................................................................ 32
Plany tekstowe ................................................................................................................ 35
Dodatkowe w a ciwo ci planów ....................................................................................... 36
Ostrze enia w planach wykonania .................................................................................... 39
Pobieranie planów za pomoc ledzenia lub z magazynu planów ...................................... 44
Usuwanie planów z magazynu planów ............................................................................. 49
SET STATISTICS TIME i SET STATISTICS IO ................................................................................... 50
Podsumowanie .......................................................................................................................... 52
Rozdzia 2.
Rozwi zywanie problemów w zapytaniach .............................................................. 53
DMV i DMF ............................................................................................................................... 55
sys.dm_exec_requests i sys.dm_exec_sessions ................................................................. 55
sys.dm_exec_query_stats ................................................................................................ 57
Warto ci statement_start_offset i statement_end_offset .................................................... 60
sql_handle i plan_handle ................................................................................................. 61
query_hash i plan_hash ................................................................................................... 62
Szukanie kosztownych zapyta ......................................................................................... 64
SQL Trace .................................................................................................................................. 65
Zdarzenia rozszerzone ................................................................................................................ 69
Mapowanie zdarze SQL Trace na zdarzenia rozszerzone .................................................. 71
Tworzenie sesji ................................................................................................................ 73
Kup książkę
Poleć książkę
6
Microsoft SQL Server 2014. Optymalizacja zapyta
Data Collector ............................................................................................................................ 82
Konfiguracja .................................................................................................................... 83
Wykorzystanie Data Collectora ......................................................................................... 87
Zapytania na tabelach Data Collectora .............................................................................. 88
Podsumowanie .......................................................................................................................... 90
Rozdzia 3.
Optymalizator zapyta ............................................................................................... 91
Przegl d .................................................................................................................................... 92
sys.dm_exec_query_optimizer_info ............................................................................................ 94
Parsowanie i przypisywanie ..................................................................................................... 101
Upraszczanie ........................................................................................................................... 104
Wykrywanie sprzeczno ci ............................................................................................... 105
Usuwanie z cze z kluczem obcym ................................................................................ 107
Plan trywialny .......................................................................................................................... 109
Regu y transformacji ................................................................................................................ 112
Memo ..................................................................................................................................... 122
Statystyki ................................................................................................................................. 127
Pe na optymalizacja ................................................................................................................. 129
Search 0 ........................................................................................................................ 131
Search 1 ........................................................................................................................ 131
Search 2 ........................................................................................................................ 133
Podsumowanie ........................................................................................................................ 135
Rozdzia 4.
Operatory zapyta .................................................................................................... 137
Operatory dost pu do danych .................................................................................................. 138
Skanowanie ................................................................................................................... 139
Przeszukiwanie .............................................................................................................. 141
Wyszukiwanie zaznacze ............................................................................................... 143
Agregacje ................................................................................................................................ 147
Sortowanie i haszowanie ............................................................................................... 147
Stream Aggregate .......................................................................................................... 147
Hash Aggregate ............................................................................................................. 150
Distinct Sort ................................................................................................................... 151
Z czenia ................................................................................................................................. 152
Nested Loops Join .......................................................................................................... 153
Merge Join .................................................................................................................... 155
Hash Join ...................................................................................................................... 157
Dzia ania równoleg e ............................................................................................................... 158
Operator wymiany ......................................................................................................... 160
Ograniczenia ................................................................................................................. 166
Kup książkę
Poleć książkę
Spis tre ci
Aktualizacje ............................................................................................................................. 167
Plany per wiersz i per indeks .......................................................................................... 169
Zabezpieczenie przed problemem Halloween .................................................................. 172
Podsumowanie ........................................................................................................................ 173
Rozdzia 5.
Indeksy ...................................................................................................................... 175
Wprowadzenie ........................................................................................................................ 176
Tworzenie indeksów ................................................................................................................ 177
Indeksy klastrowe a sterty .............................................................................................. 181
Klucz indeksu klastrowego ............................................................................................. 185
Indeksy pokrywaj ce ...................................................................................................... 186
Indeksy filtrowane ......................................................................................................... 187
Operacje na indeksach ............................................................................................................. 189
Database Engine Tuning Advisor .............................................................................................. 193
Optymalizacja zapyta i korzystanie z magazynu planów ................................................. 196
Roz adowanie narzutu optymalizacji na serwer testowy ................................................... 197
Brakuj ce indeksy .................................................................................................................... 202
Fragmentacja indeksów ........................................................................................................... 204
Nieu ywane indeksy ................................................................................................................ 206
Podsumowanie ........................................................................................................................ 208
Rozdzia 6.
Statystyki ................................................................................................................... 209
Statystyki ................................................................................................................................. 210
Tworzenie i aktualizacja statystyk ................................................................................... 210
Sprawdzanie obiektów statystyk ..................................................................................... 213
G sto ......................................................................................................................... 216
Histogram ............................................................................................................................... 218
Nowy mechanizm szacowania kardynalno ci ............................................................................ 222
Przyk ady ....................................................................................................................... 223
Flaga 4137 .................................................................................................................... 227
B dy szacunku kardynalno ci .................................................................................................. 227
Statystyki inkrementacyjne ....................................................................................................... 229
Statystyki dla kolumn wyliczeniowych ....................................................................................... 232
Statystyki filtrowane ................................................................................................................. 234
Statystyki dla kluczy rosn cych ................................................................................................. 236
Flaga 2389 .................................................................................................................... 238
UPDATE STATISTICS z ROWCOUNT i PAGECOUNT .................................................................... 242
Statystyki na serwerach po czonych ........................................................................................ 245
Konserwacja statystyk .............................................................................................................. 246
Szacowanie kosztów ................................................................................................................ 249
Podsumowanie ........................................................................................................................ 251
7
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin