web-dev-qa-db-ja.com

MySQLのEXPLAINに相当するSQL Server

キーワードEXPLAINを使用してクエリの実行方法を確認するSQLチュートリアルを読んでいました。 SQL Server 2008で試してみましたが、成功しませんでした。

同等の結果を得るにはどうすればよいですか?

26
Ash Burlaczenko

EXPLAINキーワードはMySQLの概念であると思います。これに相当するMicrosoft SQLサーバーの概念は実行計画です。

実行プランを取得する最も簡単な方法は、SQLサーバー管理スタジオで(クエリメニューの)[実際の実行プランを表示]メニュー項目をオンにすることです。あるいは、ここで実行プランのより詳細なガイドを読むことができます:

この記事では、実行プランとは何か、実行プランを取得する方法、およびさまざまな実行プランの形式について詳しく説明します。

20
Justin

MySql EXPLAINステートメントは、DESCRIBEの同義語として、またはMySQLがSELECTステートメントを実行する方法に関する情報を取得する方法として使用できます。

SQL Serverに最も近い同等のステートメントは次のとおりです。

SET SHOWPLAN_ALL(Transact-SQL)
または
SET SHOWPLAN_XML(Transact-SQL)

SQL Server Management Studioのクエリウィンドウから、SET SHOWPLAN_ALL ONまたはSET SHOWPLAN_XML ONを実行してからクエリを実行できます。その時点では、クエリの結果セットではなく、実際の実行プランが返されます。次にSET SHOWPLAN_ALL OFFまたはSET SHOWPLAN_XML OFFを実行してからクエリを実行すると、再び結果セットが取得されます。

10
KM.

MicrosoftがSQL 2012のTSQL構文にEXPLAINコマンドを追加したことに注意してください。ただし、これはAzure SQL Data WarehouseとParallel Data Warehouseにのみ適用されるため、通常のRDBMS製品には適用されません。

XML形式の実行計画を提供し、ウェアハウスノード全体に分散される計画の部分をわかりやすく示します。

ソース: TSQL EXPLAIN

2
Mike

SSMS(18.3.1を取得)で、問題のクエリを強調表示してヒットします CTRL+L

(それはトビアスが述べたことを行います-Query->Display Estimated Query Plan

0