Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Den här artikeln beskriver hur du jämför likheter och skillnader mellan faktiska grafiska körningsplaner med hjälp av SQL Server Management Studio Plan Comparison-funktionen. Den här funktionen är tillgänglig från och med SQL Server Management Studio v16.
Anteckning
Faktiska körningsplaner genereras efter att Transact-SQL-frågor eller batchar har körts. På grund av detta innehåller en faktisk körningsplan körningsinformation, till exempel faktiskt antal rader, resursanvändningsmått och körningsvarningar (om sådana finns). Mer information finns i Visa en faktisk körningsplan.
Möjligheten att jämföra planer är något som databasproffs kan behöva göra av felsökningsskäl:
- Ta reda på varför en fråga eller batch plötsligt saktade ner.
- Förstå effekten av en frågeomskrivning.
- Observera hur en specifik prestandaförbättrande ändring som introducerades i schemadesignen (till exempel ett nytt index) effektivt har ändrat körningsplanen.
Med menyalternativet PlanJämförelse kan du jämföra två olika körningsplaner sida vid sida för enklare identifiering av likheter och ändringar som förklarar de olika beteendena av alla orsaker som angavs tidigare. Det här alternativet kan jämföras mellan:
- Två tidigare sparade körningsplanfiler med tillägget .sqlplan.
- En aktiv frågekörningsplan och en tidigare sparad frågekörningsplan.
- Två valda frågeplaner i Query Store.
Tips
Planjämförelse fungerar med alla .sqlplan- filer, även från äldre versioner av SQL Server. Med det här alternativet kan du dessutom jämföra offline, så du behöver inte vara ansluten till en SQL Server-instans.
När två exekveringsplaner jämförs markeras regioner i planen som gör i stort sett samma i samma färg och mönster. Om du väljer en färgad region i en plan centreras den andra planen på den matchande noden i planen. Du kan fortfarande jämföra omatchade operatorer och noder i exekveringsplanerna, men i så fall måste du välja de operatorer som ska jämföras manuellt.
Viktig
Endast noder som anses ändra planens form används för att söka efter likheter. Därför kan det finnas en nod som inte är färgad, mitt i två noder som finns i samma underavsnitt av planen. Bristen på färg i det här fallet innebär att noderna inte beaktas när du kontrollerar om avsnitten är lika.
Jämför körningsplaner
Öppna en tidigare sparad frågekörningsplanfil (
.sqlplan) med hjälp av arkivmenyn och välj på Öppna fil, eller dra en planfil till Management Studio-fönstret. Om du precis har kört en fråga och valt att visa dess exekveringsplan, gå till fliken Exekveringsplan i resultatfönstret.Högerklicka i ett tomt område i körningsplanen och välj Jämför Showplan.
Välj den andra frågeplansfilen som du vill jämföra med. Den andra filen öppnas så att du kan jämföra planerna.
De jämförde planerna öppnar som standard ett nytt fönster med ett överst och ett längst ned. Standardvalet är den första förekomsten av en operator eller nod som är vanlig i de jämförde planerna, men som visar skillnader mellan planer. Alla markerade operatorer och noder finns i båda jämförda planer. Om du väljer en markerad operator i de övre eller vänstra planerna väljs automatiskt motsvarande operator i de nedre eller högra planerna. Om du väljer rotnodsoperatorn i någon av de jämförde planerna (
SELECTnoden i följande bild) väljs även respektive rotnodsoperator i den andra jämförd planen.Tips
Du kan växla till att visa körningsplanens jämförelse sida vid sida genom att högerklicka på ett tomt område av körningsplanen och välja Växla delningsorientering.
Alla alternativ för zoomning och navigering som är tillgängliga för exekveringsplaner fungerar i planjämförelseläge. Mer information finns i Visa en faktisk körningsplan.
Ett fönster med dubbla egenskaper öppnas också till höger inom området för standardvalet. Egenskaper som finns i båda de jämförda operatorerna men som har skillnader, föregås av inte likhetstecknet (≠) för enklare identifiering.
Jämförelsenavigeringsfönstret Showplan Analysis öppnas också längst ned. Det finns tre flikar:
På fliken Utskriftsalternativ är standardvalet Markera liknande åtgärder, och markerade operatörer eller noder i jämförda planer delar färg och linjemönster. Navigera mellan liknande områden i jämförd plan genom att välja ett kalkmönster. Du kan också välja att markera skillnader i planer snarare likheter genom att välja Markera åtgärder som inte matchar liknande segment.
Anteckning
Som standard ignoreras databasnamn när planer jämförs för att tillåta jämförelse av planer som har samlats in för databaser som har olika namn, men som delar samma schema. När du till exempel jämför planer från databaser
ProdDBochTestDB. Alternativet Ignorera databasnamn när du jämför operatorer kan ändra detta beteende.Fliken Multi Statement är användbar när du jämför planer med flera uttalanden genom att låta rätt par av uttalanden jämföras.
På fliken Scenarier hittar du en automatiserad analys av några av de mest relevanta aspekterna att titta på i vad som relaterar till skillnader i kardinalitetsuppskattning (SQL Server) i jämförelseplaner. För varje operator som visas i det vänstra fönstret visar den högra rutan information om scenariot i länken Välj här för mer information om det här scenariot och möjliga orsaker till att förklara det scenariot.
Om det här fönstret är stängt högerklickar du på ett tomt område i en jämförd plan och väljer Visaplan Jämför alternativ för att öppna igen.
Jämföra körningsplaner i Query Store
I Query Store identifierar man en frågeställning som har mer än en körningsplan. Mer information om scenarier för Query Store finns i Användningsscenarier för Query Store.
Använd en kombination av Skift-tangenten och musen för att välja två planer för samma fråga.
Använd knappen Jämför planerna för select-frågan i ett separat fönster för att starta en planjämförelse. Sedan tillämpas steg 4 till 6 i för att jämföra körningsplaner.