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.