Uitvoeringsplannen vergelijken
van toepassing op:SQL Server-
In dit onderwerp wordt beschreven hoe u overeenkomsten en verschillen tussen werkelijke grafische uitvoeringsplannen vergelijkt met behulp van de functie Vergelijking van SQL Server Management Studio-plan. Deze functie is beschikbaar vanaf SQL Server Management Studio v16.
Notitie
Werkelijke uitvoeringsplannen worden gegenereerd nadat de Transact-SQL query's of batches zijn uitgevoerd. Daarom bevat een daadwerkelijk uitvoeringsplan runtimegegevens, zoals het werkelijke aantal rijen, metrische gegevens over resourcegebruik en runtimewaarschuwingen (indien van toepassing). Zie Een werkelijke uitvoeringsplan weergevenvoor meer informatie.
De mogelijkheid om plannen te vergelijken is iets wat databaseprofessionals kunnen doen om problemen op te lossen:
- Ontdek waarom een query of batch plotseling is vertraagd.
- Begrijp de impact van een wijziging van een query.
- Bekijk hoe een specifieke wijziging die is geïntroduceerd in het schemaontwerp (zoals een nieuwe index) het uitvoeringsplan effectief heeft gewijzigd.
De menuoptie Vergelijking van plannen maakt het mogelijk om twee verschillende uitvoeringsplannen naast elkaar te vergelijken, voor een eenvoudigere identificatie van overeenkomsten en wijzigingen die het verschillende gedrag verklaren om alle bovenstaande redenen. Met deze optie kunt u het volgende vergelijken:
- Twee eerder opgeslagen uitvoeringsplanbestanden (.sqlplan extensie).
- Eén actief uitvoeringsplan en één eerder opgeslagen query-uitvoeringsplan.
- Twee geselecteerde query-plannen in Query Store -.
Tip
Planvergelijking werkt met alle .sqlplan bestanden, zelfs van oudere versies van SQL Server. Met deze optie kunt u ook offline vergelijken, zodat er geen verbinding hoeft te worden gemaakt met een SQL Server-exemplaar.
Wanneer twee uitvoeringsplannen worden vergeleken, worden delen van het plan die in wezen hetzelfde gemarkeerd in dezelfde kleur en hetzelfde patroon. Als u op een gekleurde regio in het ene plan klikt, wordt het andere plan op het overeenkomende knooppunt in dat plan gecentreerd. U kunt nog steeds niet-gerelateerde operators en knooppunten van de uitvoeringsplannen vergelijken, maar in dat geval moet u handmatig de operators selecteren die u wilt vergelijken.
Belangrijk
Alleen knooppunten die geacht worden de vorm van het plan te veranderen, worden gebruikt om overeenkomsten te controleren. Daarom kan er een knooppunt zijn dat niet is gekleurd in het midden van twee knooppunten die zich in dezelfde subsectie van het plan bevinden. Het gebrek aan kleur in dit geval impliceert dat de knooppunten niet werden overwogen bij het controleren of de secties gelijk zijn.
Uitvoeringsplannen vergelijken
Open een eerder opgeslagen queryuitvoeringsplanbestand (.sqlplan) met behulp van het menu Bestand en klik op Bestand openenof sleep een planbestand naar het Management Studio-venster. Als u net een query hebt uitgevoerd en ervoor hebt gekozen om het uitvoeringsplan weer te geven, gaat u naar het tabblad Uitvoeringsplan in het resultatenvenster.
Klik met de rechtermuisknop binnen een leeg gebied van het uitvoeringsplan en klik op Vergelijk Showplan.
Kies het tweede queryplanbestand waarmee u wilt vergelijken. Het tweede bestand wordt geopend, zodat u de plannen kunt vergelijken.
In de vergelijkingsplannen wordt standaard een nieuw venster geopend, met een bovenaan en een aan de onderkant. De standaardselectie is het eerste exemplaar van een operator of knooppunt dat gemeenschappelijk is in de vergeleken plannen, maar dat verschillen tussen de plannen toont. Alle gemarkeerde operators en knooppunten bestaan in beide vergelijkingsplannen. Als u een gemarkeerde operator in de plannen linksboven of links selecteert, wordt automatisch de bijbehorende operator in de onderste of rechterplannen geselecteerd. Als u de operator van het hoofdknooppunt selecteert in een van de vergeleken plannen (het SELECT-knooppunt in de onderstaande afbeelding), selecteert u ook de desbetreffende operator voor het hoofdknooppunt in het andere vergeleken plan.
Tip
U kunt de vergelijking van het uitvoeringsplan zij aan zij weergeven door met de rechtermuisknop op een leeg gebied van het uitvoeringsplan te klikken en splitsstand in-/uitschakelente selecteren om de richting aan te passen.
Fooi
Alle zoom- en navigatieopties die beschikbaar zijn voor uitvoeringsplannen werken in de vergelijkingsmodus van plannen. Zie Een werkelijk uitvoeringsplan weergevenvoor meer informatie.
Er wordt ook een venster met dubbele eigenschappen aan de rechterkant geopend, in het bereik van de standaardselectie. Eigenschappen die in beide vergelijkingsoperatoren voorkomen, maar die verschillen hebben, worden voorafgegaan door de niet gelijk aan teken (≠) voor een eenvoudigere identificatie.
Het Showplan Analysis vergelijkingsnavigatievenster wordt ook onderaan geopend. Er zijn drie tabbladen beschikbaar:
- Op het tabblad Instructieopties is de standaardselectie Vergelijkbare bewerkingen markeren, waarbij dezelfde gemarkeerde operator of knooppunt in vergeleken plannen hetzelfde kleur- en lijnpatroon delen. Navigeer tussen vergelijkbare gebieden in vergelijkingsplannen door op een kalkpatroon te klikken. U kunt er ook voor kiezen om verschillen in plannen eerder overeenkomsten te markeren door Markeerbewerkingen te selecteren die niet overeenkomen met vergelijkbare segmenten.
Notitie
Standaard worden databasenamen genegeerd bij het vergelijken van plannen om vergelijking van plannen toe te staan die zijn vastgelegd voor databases die verschillende namen hebben, maar hetzelfde schema delen. Bijvoorbeeld bij het vergelijken van plannen van databases ProdDB- en TestDB-. Dit gedrag kan worden gewijzigd met de optie Databasenaam negeren bij het vergelijken van operators.
Het tabblad voor meerdere instructies is handig bij het vergelijken van plannen met meerdere instructies, doordat het toelaat het juiste instructiepaar te vergelijken.
Op het tabblad Scenario's vindt u een geautomatiseerde analyse van enkele van de meest relevante aspecten die u kunt bekijken in wat betrekking heeft op kardinaliteitschatting verschillen in vergelijkingsplannen. Voor elke vermelde operator in het linkerdeelvenster toont het rechterdeelvenster details over het scenario in de Klik hier voor meer informatie over dit scenario koppeling en mogelijke redenen om dit scenario uit te leggen.
Als dit venster is gesloten, klikt u met de rechtermuisknop op een leeg gebied van een vergeleken plan en selecteert u Showplan Compare Options om opnieuw te openen.
Uitvoeringsplannen vergelijken in Query Store
Identificeer in Query Store een query met meer dan één uitvoeringsplan. Zie Query Store-gebruiksscenario'svoor meer informatie over Query Store-scenario's.
Gebruik een combinatie van de Shift-toets en de muis om twee plannen voor dezelfde query te selecteren.
Gebruik de knop Vergelijk de plannen voor de selectiequery in een afzonderlijk venster om te beginnen met het vergelijken van plannen. Stappen 4 tot en met 6 van zijn van toepassing om uitvoeringsplannen te vergelijken.