SQL Server: Performance Tuning e analisi Piani di Esecuzione

Il corso avanzato per ottimizzare le query su SQL Server e portare il tuo T-SQL a un livello superiore

4.60 (38 reviews)
Udemy
platform
Italiano
language
Databases
category
77
students
6 hours
content
Jan 2024
last update
$69.99
regular price

What you will learn

Leggere e analizzare il piano d'esecuzione di una query

Imparare a ragionare come il motore di database di SQL Server

Comprendere l'impatto delle varie tipologie di indici sul piano d'esecuzione

Riscrivere una query SQL per migliorarne le performance

Utilizzare costrutti T-SQL avanzati come le Window Function, Cross/Outer Apply, Grouping Sets, Pivot e Unpivot

Gestire transazioni ed errori all'interno delle stored procedure

Trovare proattivamente le query più lente interrogando le viste di sistema

Implementare in T-SQL interi modelli di Machine Learning

Description

Perché oggi questa query è più lenta?

Perché aggiungendo una colonna nella SELECT le performance peggiorano così tanto?

Perché l'indice che ho creato non viene utilizzato?

Come faccio a riscrivere la query per migliorarne le performance?

È più veloce la left join o la not exists?

Conviene utilizzare le subquery o le tabelle temporanee?


Se nel tuo lavoro da sviluppatore SQL, DBA o Data Analyst ti poni quotidianamente queste domande, sei nel posto giusto per effettuare un importante upgrade delle tue competenze. Imparerai a ragionare come SQL Server e comprendere quali strategie attuare per scrivere del codice T-SQL più performante.


Nella prima sezione ci concentreremo sull'analisi del Piano di esecuzione di una query (Query Execution Plan): lo strumento fondamentale per comprendere come SQL Server sta processando il codice SQL che abbiamo scritto. Analizzeremo come la creazione degli indici può (e non può) impattare sul piano di esecuzione. Studieremo tutti i principali operatori tra cui:

- clustered/non clustered index scan e seek;

- loop, hash e merge join;

- stream aggregate e hash aggregate;

- sort;

- key lookup.


Nella seconda sezione metteremo in pratica quanto studiato tramite una serie di esperimenti pratici di ottimizzazione del codice T-SQL che ti forniranno numerosi strumenti da utilizzare nel lavoro quotidiano.


Nell'ultima sezione vedremo degli approfondimenti sul T-SQL avanzato: parliamo di gestione degli errori e transazioni, blocchi try-catch, opzione xact_abort, cross apply, outer apply, grouping sets, rollup, cube, pivot e unpivot. Arriveremo infine a implementare in T-SQL un intero modello di Machine Learning, effettuando il pre-processing dei dati e programmando da zero il noto algoritmo del Perceptron, precursore delle attuali reti neurali.


Ho inserito infine un quiz finale con il quale potrai ripassare e verificare le competenze acquisite.


Le videolezioni sono corredate anche dai file contenenti gli script e gli esercizi visti durante le spiegazioni. Nel complesso, si tratta a tutti gli effetti di un manuale aggiuntivo di Performance Tuning su SQL Server. Inoltre sarò sempre disponibile a rispondere a dubbi e domande sul materiale del corso, che potrai porre tramite i messaggi di Udemy o l'apposita sezione di Domande & Risposte.


Per la natura degli argomenti trattati e il lavoro necessario per la sua produzione, spero che capirete la scelta di non applicare al prezzo di questo corso l'usuale scontistica.

Content

Setup ambiente

Creazione Database Gestionale
Installazione Sql Server Express

Indici e piani d'esecuzione di SQL Server

Chiavi primarie e indici clustered
Indici non clustered
Fattori che influenzano l'utilizzo di un indice non clustered
Operazioni di ordinamento e rimozioni duplicati
Algoritmi di join
Covered index e indici multi-colonna
Importanza dell'ordine delle colonne in un clustered index
Filtered index
Sperimentiamo come cambia il QEP di quattro query al variare degli indici

Ottimizzazione query con T-SQL

Fattori che non influiscono sul piano d'esecuzione: posizione dei filtri
Approfondimento T-SQL: conversioni di tipo
Sostituire quando possibile UNION con UNION ALL
Utilizzare la clausola GROUPING SETS
Confronto tra LEFT JOIN e NOT EXISTS
Condizioni Sargable
Utilizzo di tabelle temporanee
Approfondimento T-SQL: Window Function
Analisi delle performance delle Window function - esempio 1
Analisi delle performance delle Window function - esempio 2

Screenshots

SQL Server: Performance Tuning e analisi Piani di Esecuzione - Screenshot_01SQL Server: Performance Tuning e analisi Piani di Esecuzione - Screenshot_02SQL Server: Performance Tuning e analisi Piani di Esecuzione - Screenshot_03SQL Server: Performance Tuning e analisi Piani di Esecuzione - Screenshot_04

Reviews

Giacomo
January 15, 2023
Corso di ottimo livello. Grazie ad esempi chiari e precisi, mi ha aiutato a comprendere meglio alcuni concetti che già conoscevo ma non avevo mai approfondito nel dettaglio.
Claudio
July 5, 2022
Chiaro, conciso e al tempo stesso completo. Io personalmente non ho mai trovato prima d'ora contenuti così di qualità su questo argomento in lingua italiana!

Charts

Price

SQL Server: Performance Tuning e analisi Piani di Esecuzione - Price chart

Rating

SQL Server: Performance Tuning e analisi Piani di Esecuzione - Ratings chart

Enrollment distribution

SQL Server: Performance Tuning e analisi Piani di Esecuzione - Distribution chart
4560876
udemy ID
2/20/2022
course created date
2/24/2022
course indexed date
Bot
course submited by