Main Content

Blazing Fast Queries Using Set Based Thinking

About the Talk

April 21, 2010 11:00 AM

Milano

Milano

Gli indici sono sicuramente uno dei modi migliori per migliorare le performance delle proprie query. Ma, al contrario di quanto si pensi, non sono né l'unico modo né sempre il migliore. Dai problemi più semplici a quelli più complessi, è la logica con cui si risolve il problema che fa la differenza. E, nel risolvere un problema, non sarebbe bello poter semplicemente dire alla macchina "cosa" si vuole ottenere, lasciando risolvere il problema di "come" farlo alla macchina stessa? In questo modo essa potrebbe anche tenere conto delle condizioni di contorno, per produrre il risultato nel miglior modo possibile. Tale approccio è possibile ed è anche il modo più efficiente di scrivere query, in quanto permette al database di lavorare su insiemi di dati e di non ridursi a un approccio “row-by-row”, molto semplice ma poco efficiente e scalabile. Pensare per insiemi (“Set-Based”) è però qualcosa che si acquisisce con il tempo, esercitando la propria mente a “vedere oltre” i dati con cui si lavora, portando alla luce proprietà nascoste che permettono di risolvere il problema in modo completamente set-based: questo scoglio iniziale rappresenta una fatica ben ripagata per i risultati ottenibili, anche in termini di prestazioni e scalabilità. In questa sessione si vedrà come risolvere problemi comuni utilizzando un approccio Set-Based e quindi dichiarativo, verificando il miglioramento prestazionale dei sistemi e apprezzando come, una volta trovata la soluzione a livello logico, sia possibile semplicemente esprimerla in codice T-SQL, lasciando a SQL Server l’onere di attuare tutti gli step fisici necessari per portarla a compimento.

Ratings and Recommendations

This Talk hasn't been rated yet. Sign In to rate Talks.

comments powered by Disqus