Symptom
Sortering i batchläge infördes i SQL Server 2016 under kompatibilitetsnivån 130. Om en frågeplan för en fråga innehåller parallellt batch-läge, sorterar sig i kombination med direkt överordnade parallella operatorer, kan det hända att du stöter på prestanda jämfört med sorterings Plans motsvarigheter i rad läge.
Det här inträffar på grund av en parallell sats sortering som gör att alla sorterade data sorteras i en enda tråd till den överordnade parallella operatorn (till exempel en parallell kopplings operator). Prestanda försämringen inträffar när den överordnade parallella operatorn använder enkel tråd bearbetning på grund av en sorterings operator för inkommande enkel tråds.
Den här uppdateringen introducerar spårnings flaggan 9358 för att inaktivera sorterings operationer under de flesta parallella operatorer, kapslade slingor och data strömmar. Ett undantag är en Windows agg regering-operator i batchläge ovanför sorteringen, som fortsätter att tillåta en sorterings åtgärd i batch-läge under dem som Windows agg regerings operatorer är optimerade för att läsa sorterings data för grupperingen.
Obs! Sorterings åtgärderna för batch-läge är också inaktiverade om något av följande gäller
-
Spårnings flaggan 4199 är aktive rad.
-
Alternativet QUERY_OPTIMIZER_HOTFIXES databas är aktiverat (startas i SQL Server 2016 CU6).
-
Tips för ENABLE_QUERY_OPTIMIZER_HOTFIXES-frågor används (startas i SQL Server 2016 Service Pack 1 (SP1) CU4).
Lösning
Problemet är först åtgärdat i den kumulativa uppdateringen av SQL Server:
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Vi rekommenderar att du laddar ner och installerar de senaste kumulativa uppdateringarna för SQL Server:
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Lär dig mer om terminologin som Microsoft använder för att beskriva program varu uppdateringar.