Innanzitutto una premessa importante: questo libro, in versione Pdf, viene reso disponibile gratuitamente a questa pagina della RedGate, la sua casa editrice e conosciuta software house di vari tool per la gestione di SQL Server (come SQL Prompt, ad esempio). Questo è il link:
http://www.red-gate.com/products/sql-development/sql-prompt/entrypage/sql-query-optimizer-ebook3
Sono 265 pagine a colori, molto utili sia per l’argomento sia per la comodità di poterle leggere con un proprio ebook reader, se lo si possiede.
Io ho la versione stampata, molto old style, ma con la scomodità di non poterne apprezzare la colorazione delle immagini, grafici e codice.
Diciamo subito che questo è forse il libro più approfondito sul Query Optimizer che si possa attualmente trovare in commercio. Si entra veramente nei dettagli, nulla viene tralasciato.
Si presuppone che il lettore abbia già diversi anni di esperienza nell’uso di SQL Server, come sviluppatore o come DBA indifferentemente. Non viene richiesta una preventiva conoscenza degli execution plan, anche se un minimo di infarinatura consente di leggere in maggiore scioltezza il primo capitolo, dove vengono poste le basi su cui si faranno gli approfondimenti nei restanti 6 capitoli.
Come versione di SQL Server si fa riferimento alla 2008 (non R2) e come database ad AdventureWorks e AdventureWorksDW (dato che si alcune pagine sono dedicare anche ai datawarehouse).
Qua sotto la biografia dell’autore, vero esperto in materia.
Una piccola inesattezza: il numero di pagine non sono 360, come riportato dall’immagine presa dal sito della Red Gate, ma circa 260.
Il layout che gli fornisce la RedGate è sobrio ma tutto sommato sufficiente allo scopo, come si vede da questa foto.
Mi è piaciuta molto l’idea di porre uno sfondo in grigio chiaro a tutti gli esempi di codice T-SQL. Ciò ne aumenta di molto la leggibilità.
Le immagini degli Execution Plan sono piuttosto piccole, ma si riesce comunque a leggerne i dettagli.
Il font è forse un po’ troppo grande. L’inglese è molto comprensibile, forse dovuto al fatto che l’autore non è di madrelingua anglosassone.
Ma è il contenuto il vero punto di forza di questo testo: si entra talmente nei dettagli che si corre il rischio di perdere di vista l’insieme generale dell’argomento.
Sicuramente sovrabbondante per chi necessita di conoscere un po’ meglio il Query Optimizer rispetto a quanto offerto da altri libri che trattano di SQL Server in generale.
Personalmente avrei apprezzato se l’autore avesse inserito dei casi di studio su situazioni errate, per capire dove stava il problema e come apportarne gli indispensabili miglioramenti. Una sorta di esercizio per correggere query errate, poco efficaci o poco efficienti.
Alla fine dei capitoli, infatti, non ci sono esercizi da risolvere, o domande a cui rispondere.
Per il resto, comunque, niente da eccepire a quanto viene riportato. Impossibile trovare di meglio.
Su Amazon Italia costa attualmente circa 23 euro.
Un prezzo non bassissimo, considerando, come detto, la possibilità di scaricarselo in Pdf completamente gratis.
Table of Contents
14 - Chapter 1: Introduction to Query Optimization
42 - Chapter 2: Execution Engine
80 - Chapter 3: Statistics and Cost Estimation
122 - Chapter 4: Index Selection
145 - Chapter 5: The Optimization Process
193 - Chapter 6: Additional Topics
219 - Chapter 7: Hints
Per chi volesse tenere d’occhio l’operato dell’autore, questo è il suo sito e il suo blog:
http://www.benjaminnevarez.com/
Offre non tantissimi post, ma quei pochi sono estremamente approfonditi, e quasi tutti, in un modo o nell’altro, legati al Query Optimizer.