Execution-Plan

SQL Server 2022 Degree of parallelism feedback

Sergio Govoni

Degree of parallelism (DOP) feedback è una delle nuove feature di SQL Server 2022 e si colloca nella famiglia di funzionalità conosciuta con il nome di Intelligent Query Processing. Queste funzionalità intelligenti e adattive migliorano le prestazioni dei carichi di lavoro esistenti senza modifiche al codice applicativo. Intelligent Query Processing potenziato anche in SQL Server 2019 è l’erede della precedente tecnologia nota con il nome di Adaptive Query Processing.

Degree of parallelism (DOP) feedback

Degree of parallelism (DOP) feedback in SQL Server 2022 potenzia ulteriormente Intelligent Query Processing affrontando lo scenario che si verifica quando una query OLTP viene eseguita ripetutamente in parallel mode e vengono riscontrati problemi di prestazioni. Il parallelismo nel piano di esecuzione di una query è spesso utile per le query analitiche o per le query che gestiscono grandi quantità di dati. Al contrario, le query tipiche di un carico di lavoro OLTP eseguite in parallel mode potrebbero riscontrare problemi di prestazioni quando il tempo impiegato per coordinare i thread interessati supera i vantaggi dell’utilizzo di un piano di esecuzione parallelo.

SQL Server 2022 Parameter Sensitive Plan Optimization

Sergio Govoni

Introduzione

Parameter Sensitive Plan (PSP) Optimization è una delle funzionalità introdotte da SQL Server 2022 e si colloca nella famiglia di funzionalità note con il nome di Intelligent Query Processing che migliorano le prestazioni dei carichi di lavoro esistenti senza modifiche al codice applicativo. Intelligent Query Processing (potenziato anche in SQL Server 2019) è l’erede della precedente tecnologia nota con il nome di Adaptive Query Processing di cui è disponibile il video Query Processing improvements in the latest versions of SQL Server sul canale UGISS di Vimeo.

Modalità di elaborazione query e indici columnstore

Sergio Govoni

In questo articolo verranno trattati i due metodi di elaborazione delle query conosciuti come Row mode execution e Batch mode execution per SQL Server 2019. Verrà inoltre descritto un meccanismo per attivare Batch mode execution su SQL Server 2017 anche quando non si possono creare indici columnstore “effettivi”.

Row mode execution

Row mode execution è un metodo di elaborazione delle query utilizzato con le tabelle tradizionali disk-based, in cui i dati vengono archiviati in formato riga. Le tabelle che utilizzano questo tradizionale formato di archiviazione vengono anche dette “rowstore table”. Quando una query viene eseguita e accede ai dati archiviati in formato riga, gli operatori previsti nel piano di esecuzione leggono ogni riga richiesta dalla query. Da ogni riga letta, SQL Server recupera quindi le colonne necessarie, specificate nell’istruzione SELECT, in un predicato di JOIN, in un predicato di filtro, ecc..

Statistiche di utilizzo e performance delle viste in un database SQL Server

Sergio Govoni

Le performance di una soluzione database sono spesso oggetto di diatriba tra chi fornisce la soluzione e chi la personalizza. Scrivere codice T-SQL ottimizzato, in grado di scalare all’aumentare dei dati e degli utenti, non è affatto semplice e quando la complessità aumenta, le attività di manutenzione del codice diventano difficili da attuare anche per l’autore stesso.

In questo articolo, condivido la metodologia di tuning e alcuni script che utilizzo per ottenere informazioni sulle performance delle query che utilizzano le viste presenti nel database oggetto dell’analisi. La presenza di viste nidificate contenenti query non ottimizzate può diventare oggetto di analisi specifica, gli script contenuti in questo articolo hanno l’obiettivo di fornire alcuni indicatori sull’utilizzo e sulle performance delle viste di un DB.