Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2022 (16.x) e versioni successive
database SQL di Azure
Istanza Gestita di SQL di Azure
Database SQL in Microsoft Fabric
Il feedback sul grado di parallelismo (DOP) migliora le prestazioni delle query identificando le inefficienze del parallelismo per le query ripetute, basato sul tempo impiegato e sui tempi di attesa.
Il feedback sul grado di parallelismo fa parte della famiglia di funzionalità di elaborazione intelligente delle query e affronta l'uso non ottimale del parallelismo nelle query ripetute. Questo scenario consente di ottimizzare l'utilizzo delle risorse e migliorare la scalabilità dei carichi di lavoro, quando un parallelismo eccessivo può causare problemi di prestazioni.
Invece di affrontare le difficoltà di un'impostazione predefinita onnicomprensiva o della regolazione manuale per ogni query, il feedback sul grado di parallelismo adatta automaticamente il grado di parallelismo per evitare questi problemi.
Il feedback DOP è disponibile per le query che operano nel livello di compatibilità del database 160 (introdotto con SQL Server 2022 (16.x)) o versioni successive, nel database SQL di Azure, nell'istanza gestita di SQL di Azure (con SQL Server 2025 o Always-up-to-dateupdate policy) e nel database SQL in Fabric.
Per altre funzionalità di feedback sulle query, vedere Feedback sulle concessioni di memoria e Feedback sulla stima della cardinalità (CE).
Il feedback sul grado di parallelismo (DOP) evita l'eccesso di parallelismo.
Invece di incorrere negli svantaggi di un’impostazione predefinita generale o di modifiche manuali a ogni query, il feedback DOP regola automaticamente il grado di parallelismo per evitarne l’eccesso. Se l'uso del parallelismo è considerato inefficiente, il feedback del grado di parallelismo (DOP) riduce il grado di parallelismo per la successiva esecuzione della query, indipendentemente dal valore DOP configurato, e verifica se la riduzione ha migliorato l'efficienza.
Il parallelismo è spesso utile per la creazione di report e le query analitiche o per le query che gestiscono diversamente grandi quantità di dati. Al contrario, le query incentrate su OLTP che vengono eseguite in parallelo potrebbero riscontrare problemi di prestazioni quando il tempo trascorso per il coordinamento di tutti i thread supera i vantaggi dell'uso di un piano parallelo. Per altre informazioni, vedere la sezione relativa all'esecuzione parallela del piano.
Per abilitare il feedback sul grado di parallelismo, abilitare la
DOP_FEEDBACKconfigurazione con ambito database per un database. Ad esempio, nel database utente:ALTER DATABASE SCOPED CONFIGURATION SET DOP_FEEDBACK = ON;Per disabilitare il feedback sul grado di parallelismo a livello di database, utilizzare la
DOP_FEEDBACKconfigurazione con ambito database. Ad esempio, nel database utente:ALTER DATABASE SCOPED CONFIGURATION SET DOP_FEEDBACK = OFF;Per disabilitare il feedback DOP a livello di query, utilizzare l'hint di query
DISABLE_DOP_FEEDBACK.
Il Query Store deve essere abilitato per ogni database in cui viene usato il feedback DOP e deve essere nello stato "lettura/scrittura". Il feedback verrà salvato in modo permanente nella vista del catalogo sys.query_store_plan_feedback quando viene raggiunto un valore stabile per il feedback sul grado di parallelismo.
Solo il feedback verificato viene salvato. Se il DOP modificato provoca una regressione delle prestazioni, il feedback sul DOP tornerà all'ultimo DOP valido noto. In questo contesto una query annullata dall'utente viene percepita anche come regressione. Il feedback DOP non ricompila i piani di esecuzione.
Il feedback stabile viene nuovamente verificato durante la ricompilazione del piano e potrebbe essere corretto verso l’alto o verso il basso, ma mai oltre l’impostazione MAXDOP (compreso un hint MAXDOP).
A partire da SQL Server 2022 (16.x), quando Query Store per le repliche secondarie è abilitato, il feedback sul grado di parallelismo tiene conto della replica anche per le repliche secondarie nei gruppi di disponibilità. Il feedback DOP può applicare il feedback in modo diverso in una replica primaria e in una replica secondaria. Tuttavia, il feedback sul grado di parallelismo non viene mantenuto nelle repliche secondarie e, in caso di failover, il feedback sul grado di parallelismo della replica primaria precedente non viene applicato alla nuova replica primaria. In caso di failover, il feedback applicato alle repliche primarie o secondarie viene perso. Query Store è disponibile nelle repliche del gruppo di disponibilità secondario a partire da SQL Server 2025 (17.x). Per altre informazioni, vedere Query Store per repliche secondarie.
Implementazione del feedback sul grado di parallelismo (DOP)
Il feedback sul grado di parallelismo (DOP) identifica le inefficienze del parallelismo per la ripetizione delle query, in base al tempo trascorso e alle attese. Se l'uso del parallelismo è considerato inefficiente, il feedback sul grado di parallelismo riduce il grado di parallelismo per la successiva esecuzione della query, indipendentemente dal valore del grado di parallelismo configurato, e verifica se la riduzione ha migliorato l'efficienza.
Per valutare l'idoneità della query, il tempo di esecuzione corretto viene misurato nel corso di alcune esecuzioni. Il tempo totale trascorso per ogni query viene rettificato ignorando le attese Buffer Latch, Buffer IO e Network IO, che sono esterne all'esecuzione parallela delle query. L'obiettivo della funzionalità di feedback DOP (grado di parallelismo) è aumentare la concorrenza complessiva e ridurre significativamente le attese, anche se ciò aumenta leggermente il tempo di esecuzione della query.
Solo il feedback verificato viene salvato. Se il DOP modificato causa una regressione delle prestazioni, il feedback DOP tornerà all'ultimo DOP noto come valido. In questo contesto una query annullata dall'utente viene percepita anche come regressione.
Note
Il feedback sul grado di parallelismo non ricompila i piani di esecuzione.
Considerazioni sul riscontro del grado di parallelismo (DOP)
Il feedback DOP non è abilitato per impostazione predefinita in SQL Server 2022 (16.x).
Il valore minimo del grado di parallelismo per qualsiasi query modificata con il feedback sul grado di parallelismo è 2. Le esecuzioni seriali sono escluse dal feedback sul DOP.
È possibile tenere traccia delle informazioni sul feedback usando la visualizzazione del catalogo sys.query_store_plan_feedback.
Se una query dispone di un piano di query forzato tramite Query Store, è comunque possibile usare il feedback sul grado di parallelismo per tale query.
Attualmente, il feedback di DOP non è compatibile con gli hint di query. Per altre informazioni, vedere Hint (Transact-SQL) - Query e Hint di Query Store.
Eventi estesi per il feedback sul grado di parallelismo (DOP)
Per il feedback sul grado di parallelismo (DOP) sono disponibili i seguenti XE:
-
dop_feedback_eligible_query: Si verifica quando il piano di esecuzione della query diventa idoneo per il feedback sul grado di parallelismo. È possibile che si attivino altri eventi se si verifica una ricompilazione o un riavvio dell'istanza di SQL Server. -
dop_feedback_provided: si verifica quando un feedback DOP ha fornito dati per una determinata query. Questo evento contiene statistiche di base quando il feedback viene generato per la prima volta e statistiche di feedback precedenti quando vengono forniti feedback successivi. -
dop_feedback_validation: si verifica quando si verifica la convalida per le statistiche di runtime delle query rispetto a statistiche di base o a statistiche di feedback precedenti. -
dop_feedback_stabilized: Si verifica quando il feedback DOP si stabilizza per una query. -
dop_feedback_reverted: Si verifica quando un feedback sul grado di parallelismo (DOP) viene annullato. L'evento si attiva quando la convalida del feedback non va a buon fine per il primo feedback fornito. Il sistema ripristinerà di nuovo uno stato di feedback assente. -
dop_feedback_analysis_stopped: Si verifica quando l'analisi del feedback DOP (grado di parallelismo) viene interrotta per una query. -
dop_feedback_reassessment_failed: si verifica quando il feedback DOP rivaluta una scelta di feedback persistente in precedenza, ma ha rilevato che il valore persistente non è più valido. Questo stato riavvia il ciclo di feedback.
Persistenza del feedback del grado di parallelismo (DOP)
Se il meccanismo di feedback DOP rileva che il nuovo grado di parallelismo è valido, questa ottimizzazione viene mantenuta all'interno di Query Store e verrà applicata in modo appropriato a una query per le esecuzioni future.
Questa funzionalità è stata introdotta in SQL Server 2022 (16.x) ed è disponibile per le query eseguite con il livello di compatibilità del database 160 o superiore, oppure per cui è specificato il hint QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n 160 o superiore, e quando Query Store è abilitato per il database e si trova in stato di "lettura/scrittura".
Contenuti correlati
- Blog: Parallelismo Intelligente: Feedback sul grado di parallelismo in SQL Server 2025
- Blog: Elaborazione di query intelligenti: feedback sul grado di parallelismo
- Elaborazione di query intelligenti nei database SQL
- Configurare il grado massimo di parallelismo (opzione di configurazione del server)
- Stima della cardinalità (SQL Server)
- RECONFIGURE (Transact-SQL)
- Configurazione di operazioni parallele sugli indici
- ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)