KB3107397 – förbättrad diagnostik för frågor som rör rest predikat Pushdown i SQL Server

Arbeta överallt från alla enheter med Microsoft 365

Uppgradera till Microsoft 365 om du vill arbeta var som helst med de senaste funktionerna och uppdateringarna.

Uppgradera nu

Symptom

Vissa fråge körnings planer i Microsoft SQL Server inkluderar ett mönster för utvärdering av ett filter över en tabell eller en index genomsökning/område. Vissa delar av filter predikatet kan matcha en index-tangenten och kan därför användas för att köra en index sökning eller områdes ökning. De återstående delarna av predikatet kallas "rest" och måste utvärderas för varje rad utdata av en sökning eller ett intervall. Detta motsvaras av en filter operator. För att förbättra prestanda kan dock SQL Server överföra ett filter ned till själva tabellen för tabell åtkomst. Även om den här metoden förbättrar prestanda, under vissa förhållanden (till exempel om det är en felaktig beräkning av kardinalitet som är relaterad till parameter känslighet), kan det hända att filtret Update-nedan bearbetar ett större antal rader än förväntat. Det här faktumet kan vara dolt under fel sökning av frågor om du använder en verklig körnings plan, eftersom det faktiska antalet rader som returneras motsvarar antalet rader efter att det rest predikatet används och inte det faktiska antalet rader som skannas från en tabell eller ett index.

Lösning

För att förbättra diagnostiken i scenariot som beskrivs i avsnittet symptom kan SQL Server 2012 Service Pack 3 (SP3) och SQL Server 2014 SP2 introducera ett nytt XML-SHOWPLAN, med faktiska rader lästa. Det här attributet ger information om hur många rader som operatorn läste innan resten användes. Den här funktionen har knytnävshälsning införts i följande Service Pack för SQL Server.

Mer information om SQL Server 2012 Service Pack 3 (SP3) finns i program fel som åtgärdas i SQL Server 2012 Service Pack 3.

Service Pack 2 för SQL Server för SQL server 2014 SQL Server 2016 Service Pack 1 (SP1) Om Service Pack för SQL ServerService Pack är kumulativa. Varje nytt Service Pack innehåller alla korrigeringar som finns i tidigare service pack, tillsammans med eventuella nya korrigeringar. Vår rekommendation är att tillämpa senaste Service Pack och den senaste kumulativa uppdateringen för detta Service Pack. Du behöver inte installera ett tidigare service Pack innan du installerar den senaste Service Pack-versionen. Använd tabell 1 i följande artikel för att hitta mer information om den senaste service versionen och den senaste kumulativa uppdateringen.Avgöra version, utgåva och uppdaterings nivå för SQL Server och dess komponenter

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×