Als «execution-plan» getaggte Fragen

Die vom Abfrageoptimierer ausgewählte Strategie zum Verarbeiten einer Abfrage.

1
Die Funktion "Force-Plan für Abfragespeicher" funktioniert nicht
Die Planfunktion "Query Store Force" scheint den Plan nicht zu erzwingen. Mir ist bekannt, dass Query Store - Forced nicht immer Forced bedeutet . Mein Plan ändert sich jedoch möglicherweise nicht unwesentlich, aber das Abfrageoptimierungsprogramm wählt möglicherweise weiterhin falsche Indizes, Schleifenoptionen usw. aus. Grundsätzlich gilt: Meine erzwungene Planentscheidung wird nicht …



2
Warum wird eine DELETE-Abfrage in einem Format viel länger ausgeführt als in einem anderen?
Ich habe einen speziellen Bereinigungscode, der versucht, einige Duplikate zu entfernen. Dies läuft auf vielen Kundenstandorten perfekt. Aus den Protokollen geht hervor, dass diese Abfrage mindestens 1 bis 45 Sekunden dauert: DELETE FROM [tbl] WHERE [Id] NOT IN ( SELECT MIN([Id]) FROM [tbl] GROUP BY [IdProject], [IdRepresentative], [TimeStart] ) Aber …

2
Warum erhalte ich eine implizite Konvertierung von Int / Smallint in Varchar und wirkt sich dies wirklich auf die Kardinalitätsschätzungen aus?
Ich versuche, eine langsame Abfrage mithilfe von Show Plan Analysis (SSMS) für den tatsächlichen Ausführungsplan zu beheben. Das Analysetool weist darauf hin, dass Schätzungen für die Anzahl der Zeilen an einigen Stellen im Plan von den zurückgegebenen Ergebnissen abweichen, und gibt mir außerdem einige implizite Konvertierungswarnungen. Ich verstehe diese impliziten …

1
SQL Server-Abfrageplan XML: QueryPlanHash-Länge
UPDATE: Dies ist definitiv ein Fehler. Ausführliche Informationen finden Sie in diesem Verbindungselement . Beim Testen einiger Änderungen an sp_BlitzCache (vollständige Offenlegung, ich bin einer der Autoren) bin ich auf einen Fehler in unserem Code gestoßen . An einem Punkt stimmen wir mit dem Abfrageplan-Hash überein, um die Abfragekosten zu …

4
SQL Server verwendet keinen Index für einfache Bijektion
Dies ist ein weiteres Rätsel des Abfrageoptimierers. Vielleicht überschätze ich nur die Abfrageoptimierer, oder vielleicht fehlt mir etwas - also stelle ich es da raus. Ich habe einen einfachen Tisch CREATE TABLE [dbo].[MyEntities]( [Id] [uniqueidentifier] NOT NULL, [Number] [int] NOT NULL, CONSTRAINT [PK_dbo.MyEntities] PRIMARY KEY CLUSTERED ([Id]) ) CREATE NONCLUSTERED …

2
Odd Stream Aggregate-Verhalten
Abfrage: declare @X xml = ' <item ID = "0"/> <item ID = "1"/> <item/> <item/>'; select I.X.value('@ID', 'int') from @X.nodes('/item') as I(X); Ergebnis: ----------- 0 1 NULL NULL Ausführungsplan: Der obere Zweig zerlegt das XML in vier Zeilen und der untere Zweig ruft den Wert für das Attribut ab …


1
Wäre es besser, Abfragepläne zur Wiederverwendbarkeit nach Anweisungen aufzuteilen?
Aufgrund meiner begrenzten Kenntnisse darüber, wie Abfragepläne von Abfragen kompiliert, gespeichert und abgerufen werden, verstehe ich, dass eine Abfrage mit mehreren Anweisungen oder eine gespeicherte Prozedur ihren Abfrageplan generiert, der im Abfrageplan-Cache gespeichert wird, der von der Abfrage bei zukünftigen Ausführungen verwendet wird. Ich denke, dieser Plan wird mit dem …

2
Grundlegendes zu Statistiken, Ausführungsplänen und dem aufsteigenden Schlüsselproblem
Ich versuche, die Beziehung zwischen Statistiken, Ausführungsplänen und der Ausführung gespeicherter Prozeduren (konzeptionell) besser zu verstehen. Stimmt es, dass Statistiken nur beim Erstellen des Ausführungsplans für eine gespeicherte Prozedur verwendet werden und nicht im tatsächlichen Ausführungskontext verwendet werden? Mit anderen Worten, wenn dies zutrifft, wie wichtig sind "aktuelle" Statistiken, sobald …

2
ROW_NUMBER () ohne PARTITION BY generiert weiterhin einen Segmentiterator
Ich schreibe in einem meiner nächsten Blog-Beiträge über Ranking- und aggregierte Fensterfunktionen, insbesondere die Segment- und Sequenzprojekt-Iteratoren. Ich verstehe es so, dass Segment Zeilen in einem Stream identifiziert, die das Ende / den Anfang einer Gruppe bilden, also die folgende Abfrage: SELECT ROW_NUMBER() OVER (PARTITION BY someGroup ORDER BY someOrder) …


1
Geschätzter versus tatsächlicher Abfrageplan mit Funktionsaufrufen
Ich habe diese Abfrage auf SQL Server, eine Zusammenführungsreplikationsabfrage: SELECT DISTINCT b.tablenick, b.rowguid, c.generation, sys.fn_MSgeneration_downloadonly ( c.generation, c.tablenick ) FROM #belong b LEFT OUTER JOIN dbo.MSmerge_contents c ON c.tablenick = b.tablenick AND c.rowguid = b.rowguid; Der geschätzte Abfrageplan enthält Informationen zu 3 Abfragen: Die obige Abfrage Der Funktionsaufruf nur für …

1
Merkwürdiger Abfrageplan bei Verwendung von OR in der JOIN-Klausel - Konstanter Scan für jede Zeile in der Tabelle
Ich versuche einen Beispiel-Abfrageplan zu erstellen, um zu zeigen, warum die UNIONierung von zwei Ergebnismengen besser ist als die Verwendung von OR in einer JOIN-Klausel. Ein Abfrageplan, den ich geschrieben habe, hat mich ratlos gemacht. Ich verwende die StackOverflow-Datenbank mit einem nicht gruppierten Index für Users.Reputation. Die Abfrage lautet CREATE …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.