Als «execution-plan» getaggte Fragen

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

1
Warum führt das Löschen meiner partitionierten Ansicht zu einem Clustered Index Insert?
Ich habe eine partitionierte Ansicht, die den folgenden Einfügetrigger hat (Partition des schlechten Mannes). Wenn ich ein LÖSCHEN durchführe, erhalte ich den folgenden Abfrageplan: delete from factproductprice where pricedate = '20170725' Auslöser für die Ansicht: ALTER TRIGGER [dbo].[factProductPriceDelete] ON [dbo].[FactProductPrice] INSTEAD OF DELETE AS BEGIN IF @@ROWCOUNT = 0 RETURN; …

1
Statistiken zum Index für Partitionen, die nicht in Abfragen für die gesamte Tabelle verwendet werden
Der folgende Join hat sehr unterschiedliche Zeilenschätzungen beim Ausführen eines Joins für die Partitionen im Vergleich zum Join für die gesamte Tabelle: CREATE TABLE m_data.ga_session ( session_id BIGINT NOT NULL, visitor_id BIGINT NOT NULL, transaction_id TEXT, timestamp TIMESTAMP WITH TIME ZONE NOT NULL, day_id INTEGER NOT NULL, [...] device_category TEXT …

1
Anhaltende berechnete Spalte, die einen Scan verursacht
Das Konvertieren einer regulären Spalte in eine persistierte berechnete Spalte führt dazu, dass diese Abfrage keine Indexsuchen durchführen kann. Warum? Getestet auf mehreren SQL Server-Versionen, einschließlich 2016 SP1 CU1. Repros Mit einer berechneten Spalte Mit einer regulären Spalte Das Problem ist mit table1, col7. Die Tabellen und Abfragen sind eine …

3
Der Ausführungsplan verwendet NICHT INDEX, sondern den Tabellenscan
Ich weiß, wenn es um die Verwendung eines Index- oder Tabellenscans geht, verwendet SQL Server Statistiken, um festzustellen, welcher besser ist. Ich habe eine Tabelle mit 20 Millionen Zeilen. Ich habe einen Index für (SnapshotKey, Measure) und diese Abfrage: select Measure, SnapshotKey, MeasureBand from t1 where Measure = 'FinanceFICOScore' group …


1
Warum enthält der Abfrageausführungsplan SELECT COUNT () eine linksverknüpfte Tabelle?
In SQL Server 2012 habe ich eine Tabellenwertfunktion mit Verknüpfung zu einer anderen Tabelle. Ich muss die Anzahl der Zeilen für diese 'Tabellenwertfunktion' zählen. Wenn ich den Ausführungsplan überprüfe, sehe ich die linke Verknüpfungstabelle. Warum? Wie kann die linksverknüpfte Tabelle die Anzahl der zurückgegebenen Zeilen beeinflussen? Ich würde erwarten, dass …

3
Viele "FETCH API_CURSOR0000 ..." auf sp_WhoIsActive (SQL Server 2008 R2)
Ich habe eine seltsame Situation. Mit sp_whoisactivekann ich das sehen: Ok, mit dieser Abfrage kann ich sehen, was auslöst (existiert dieses Wort auf Englisch?) Es: SELECT c.session_id, c.properties, c.creation_time, c.is_open, t.text FROM sys.dm_exec_cursors (SPID) c --0 for all cursors running CROSS APPLY sys.dm_exec_sql_text (c.sql_handle) t das Ergebnis: es ist einfach …



2
Wie erhalte ich den Ausführungsplan für eine Ansicht?
Ich habe ein Schema mit mehreren Ansichten. Ich muss die Ausführungspläne überprüfen, um sicherzustellen, dass die entsprechenden Indizes vorhanden sind und verwendet werden. Wie mache ich das? Ich würde lieber nicht kopieren und die Ausgabe von Paste show create view <viewname>in explain, zumal einige der Ansichten auf anderen Ansichten gebaut …


2
Sehr ähnliche Abfragen, sehr unterschiedliche Leistung
Ich habe zwei sehr ähnliche Fragen Erste Abfrage: SELECT count(*) FROM Audits a JOIN AuditRelatedIds ari ON a.Id = ari.AuditId WHERE ari.RelatedId = '1DD87CF1-286B-409A-8C60-3FFEC394FDB1' and a.TargetTypeId IN (1,2,3,4,5,6,7,8,9, 11,12,13,14,15,16,17,18,19, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39, 41,42,43,44,45,46,47,48,49, 51,52,53,54,55,56,57,58,59, 61,62,63,64,65,66,67,68,69, 71,72,73,74,75,76,77,78,79) Ergebnis: 267479 Plan: https://www.brentozar.com/pastetheplan/?id=BJWTtILyS Zweite Abfrage: SELECT count(*) FROM Audits a JOIN AuditRelatedIds ari ON …

1
"Warnungen: Betrieb verursachte Rest-E / A" im Vergleich zu Schlüsselsuchen
Ich habe diese Warnung in SQL Server 2017-Ausführungsplänen gesehen: Warnungen: Der Betrieb verursachte verbleibende E / A. Die tatsächliche Anzahl der gelesenen Zeilen betrug (3.321.318), aber die Anzahl der zurückgegebenen Zeilen betrug 40. Hier ist ein Ausschnitt aus SQLSentry PlanExplorer: Um den Code zu verbessern, habe ich einen nicht gruppierten …

2
Was verursacht eine hohe CPU-Auslastung durch diesen Abfrage- / Ausführungsplan?
Ich habe eine Azure SQL-Datenbank, die eine .NET Core API-App unterstützt. Das Durchsuchen der Leistungsübersichtsberichte im Azure-Portal weist darauf hin, dass der Großteil der Last (DTU-Nutzung) auf meinem Datenbankserver von der CPU stammt, und eine Abfrage speziell: Wie wir sehen können, ist die Abfrage 3780 für fast die gesamte CPU-Auslastung …

1
Verhinderung von MERGE-Deadlocks
In einer unserer Datenbanken haben wir eine Tabelle, auf die mehrere Threads gleichzeitig intensiv zugreifen. Threads aktualisieren oder fügen Zeilen über ein MERGE. Es gibt auch Threads, die gelegentlich Zeilen löschen, sodass Tabellendaten sehr flüchtig sind. Threads, die Upsts machen, leiden manchmal unter Deadlocking. Das Problem ähnelt dem in dieser …

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.