SQL Server entspricht dem EXPLAIN von MySQL

8

Ich habe ein SQL-Tutorial gelesen, in dem das Schlüsselwort EXPLAIN verwendet wurde, um zu sehen, wie eine Abfrage ausgeführt wird. Ich habe es in SQL Server 2008 ohne Erfolg versucht.

Wie bekomme ich das äquivalente Ergebnis?

    
Ash Burlaczenko 10.08.2010, 14:06
quelle

4 Antworten

13

Ich glaube, dass das Schlüsselwort EXPLAIN ein MySQL-Konzept ist - das entsprechende Microsoft SQL Server-Konzept ist der Ausführungsplan.

Der einfachste Weg, einen Ausführungsplan zu bekommen, ist, den Menüpunkt "Zeige aktuellen Ausführungsplan" (im Abfrage-Menü) im SQL Server Management Studio zu aktivieren. Alternativ können Sie hier einen ausführlicheren Leitfaden zu Ausführungsplänen lesen:

In diesem Artikel wird ausführlicher beschrieben, welche Ausführungspläne, wie ein Ausführungsplan und die verschiedenen Ausführungsplanformate erhalten werden.

    
Justin 10.08.2010, 14:08
quelle
5

Die MySql EXPLAIN-Anweisung kann entweder als ein Synonym für DESCRIBE oder als eine Möglichkeit verwendet werden Informationen darüber, wie MySQL eine SELECT-Anweisung ausführt.

Die folgende äquivalente Anweisung für SQL Server lautet:

SET SHOWPLAN_ALL (Transact-SQL)
oder SET SHOWPLAN_XML (Transact-SQL)

In einem SQL Server Management Studio-Abfragefenster können Sie SET SHOWPLAN_ALL ON oder SET SHOWPLAN_XML ON und dann Ihre Abfrage ausführen. Zu diesem Zeitpunkt wird nicht die Ergebnismenge der Abfrage zurückgegeben, sondern der tatsächliche Ausführungsplan. Wenn Sie dann SET SHOWPLAN_ALL OFF oder SET SHOWPLAN_XML OFF ausführen und dann Ihre Abfrage ausführen, erhalten Sie erneut eine Ergebnismenge.

    
KM. 10.08.2010 14:19
quelle
1

Beachten Sie, dass Microsoft in SQL 2012 einen EXPLAIN-Befehl zur TSQL-Syntax hinzugefügt hat, jedoch nur für Azure SQL Data Warehouse und Parallel Data Warehouse gilt - also nicht für das reguläre RDBMS-Produkt.

Es stellt einen Ausführungsplan im XML-Format bereit und zeigt hilfreich die Teile des Plans, die über die Warehouse-Knoten verteilt werden.

Quelle: TSQL EXPLAIN

    
Mike 03.07.2017 22:13
quelle
-3

Sie müssen sich den Ausführungsplan in SQl Server ansehen. Schlagen Sie den Ausdruck in Büchern online nach, wie man es benutzt.

Sie sind nicht so einfach zu lesen, Sie möchten vielleicht etwas recherchieren, hier ist ein Google-Suchbegriff, der Ihnen den Einstieg erleichtert:

Lesen des Ausführungsplan-SQL-Servers

    
HLGEM 10.08.2010 14:10
quelle

Tags und Links