Please enable JavaScript.
Coggle requires JavaScript to display documents.
SQL OPTYMALIZACJA - Coggle Diagram
SQL OPTYMALIZACJA
TUNING
-
-
-
-
-
-
Dzielimy kolumny informacyjne vs relacyjne np. self join gdzie jeden robi relacje a drugi wyświetla informacyjne poz_zparz p1 inner join poz_zdarz p2 on p1.id_p = p2.id_p i wyświetlamy z p2 a filtrujemy po p1
Generalnie chodzi o to by pierwsze wyfiltrować wiersze a potem sięgać po informacje (self join, key nest)
-
Sprawdzamy czy query idzie wielowatkowo (parell) - flaga 8649 (option(QUERYTRACEON 8649, RECOMPILE))i szukamy tych "najdroższych"
-
-
-
sprawdzić czy można użyc Computec Column, Dynamic SQL, CTE's, index filtrowany
-
-
-
SELECT
WHERE
-
-
-
-
warunek t.id_t = 123 zamien na 1=1 and t.id_t = 123
optymalizator inaczej zadziała bo ma specjalny warunek dla where z jedneą kolumną
-
Join
zagnieżdzony join - join (kierowca as k inner join firma as f on f.id_f = k.id_f) on k.id_k = t.id_k
-
-
PLANY ZAPYTAŃ
OSTRZEŻENIA
TempDB Spills
-
-
:warning:Problemem z ilością danych, nie mieszczę się w pamięci - złe statystyki
Dlaczego SQL Server generuje niedokładne szacunki zwracanych wierszy? - jest to spowodowane funkcjami w predykatach, złymi statystykami, funkcjami o wartości tabeli lub brakującymi indeksami
-
-
-
-
-
-
Dynamic SQL
opcja recompile
Można dla pewnych wartosci dodawać ją dla query - jak wiemy że dla danego parametru wejsciowego jest znacznie wiecej danych uzywać