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
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.