Als «execution-plan» getaggte Fragen

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


4
Indexsuche vs Index-Scan
Beim Betrachten eines Ausführungsplans einer langsam laufenden Abfrage stellte ich fest, dass einige der Knoten eine Indexsuche und einige eine Indexsuche sind. Was ist der Unterschied zwischen Indexsuche und Indexsuche? Welches ist besser? Wie wählt SQL eine über die andere aus? Mir ist klar, dass dies 3 Fragen sind, aber …

3
Zu viel Arbeitsspeicher gewährt
Warum wird dieser einfachen Abfrage so viel Speicherplatz eingeräumt? -- Demo table CREATE TABLE dbo.Test ( TID integer IDENTITY NOT NULL, FilterMe integer NOT NULL, SortMe integer NOT NULL, Unused nvarchar(max) NULL, CONSTRAINT PK_dbo_Test_TID PRIMARY KEY CLUSTERED (TID) ); GO -- 100,000 example rows INSERT dbo.Test WITH (TABLOCKX) (FilterMe, SortMe) …




2
Pläne mit XML-Readern optimieren
Ausführen der Abfrage von hier aus , um die Deadlock-Ereignisse aus der erweiterten Standardereignissitzung zu entfernen SELECT CAST ( REPLACE ( REPLACE ( XEventData.XEvent.value ('(data/value)[1]', 'varchar(max)'), '<victim-list>', '<deadlock><victim-list>'), '<process-list>', '</victim-list><process-list>') AS XML) AS DeadlockGraph FROM (SELECT CAST (target_data AS XML) AS TargetData FROM sys.dm_xe_session_targets st JOIN sys.dm_xe_sessions s ON s.address …



3
Warum verwendet SQL Server einen besseren Ausführungsplan, wenn ich die Variable einfüge?
Ich habe eine SQL-Abfrage, die ich optimieren möchte: DECLARE @Id UNIQUEIDENTIFIER = 'cec094e5-b312-4b13-997a-c91a8c662962' SELECT Id, MIN(SomeTimestamp), MAX(SomeInt) FROM dbo.MyTable WHERE Id = @Id AND SomeBit = 1 GROUP BY Id MyTable hat zwei Indizes: CREATE NONCLUSTERED INDEX IX_MyTable_SomeTimestamp_Includes ON dbo.MyTable (SomeTimestamp ASC) INCLUDE(Id, SomeInt) CREATE NONCLUSTERED INDEX IX_MyTable_Id_SomeBit_Includes ON dbo.MyTable …

1
SQL Server 2014: Gibt es eine Erklärung für die inkonsistente Schätzung der Kardinalität von Self-Joins?
Betrachten Sie den folgenden Abfrageplan in SQL Server 2014: Im Abfrageplan ar.fId = ar.fIdergibt eine Selbstverknüpfung eine Schätzung von 1 Zeile. Dies ist jedoch eine logisch inkonsistente Schätzung: Sie arenthält 20,608Zeilen und nur einen eindeutigen Wert von fId(in der Statistik genau wiedergegeben). Daher erzeugt dieser Join das vollständige Kreuzprodukt von …

3
Der Index für persistierte berechnete Spalten benötigt eine Schlüsselsuche, um die Spalten im berechneten Ausdruck abzurufen
Diese Frage wurde von Stack Overflow migriert, da sie in Stack Exchange für Datenbankadministratoren beantwortet werden kann. Vor 6 Jahren migriert . Ich habe eine dauerhaft berechnete Spalte in einer Tabelle, die einfach aus verketteten Spalten besteht, z CREATE TABLE dbo.T ( ID INT IDENTITY(1, 1) NOT NULL CONSTRAINT PK_T_ID …

1
Besteht das Risiko, Benutzern die SQL Server SHOWPLAN-Berechtigung zu erteilen?
Diese Frage wurde von Stack Overflow migriert, da sie in Stack Exchange für Datenbankadministratoren beantwortet werden kann. Vor 7 Jahren migriert . Ich optimiere die Leistung einer großen SQL Server 2008-Datenbank, und die IT-Gruppe ist nicht bereit, SHOWPLAN-Berechtigungen zu erteilen. In der Vergangenheit war "Ausführungsplan anzeigen" die effektivste Methode, um …


1
Woher kommen dieser konstante Scan und der linke äußere Join in einem einfachen SELECT-Abfrageplan?
Ich habe diesen Tisch: CREATE TABLE [dbo].[Accounts] ( [AccountId] UNIQUEIDENTIFIER UNIQUE NOT NULL DEFAULT NEWID(), -- WHATEVER other columns ); GO CREATE UNIQUE CLUSTERED INDEX [AccountsIndex] ON [dbo].[Accounts]([AccountId] ASC); GO Diese Abfrage: DECLARE @result UNIQUEIDENTIFIER SELECT @result = AccountId FROM Accounts WHERE AccountId='guid-here' Wird mit einem Abfrageplan ausgeführt, der aus …

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.