キーワードEXPLAINを使用してクエリの実行方法を確認するSQLチュートリアルを読んでいました。 SQL Server 2008で試してみましたが、成功しませんでした。
同等の結果を得るにはどうすればよいですか?
EXPLAIN
キーワードはMySQLの概念であると思います。これに相当するMicrosoft SQLサーバーの概念は実行計画です。
実行プランを取得する最も簡単な方法は、SQLサーバー管理スタジオで(クエリメニューの)[実際の実行プランを表示]メニュー項目をオンにすることです。あるいは、ここで実行プランのより詳細なガイドを読むことができます:
この記事では、実行プランとは何か、実行プランを取得する方法、およびさまざまな実行プランの形式について詳しく説明します。
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
を実行してからクエリを実行すると、再び結果セットが取得されます。
MicrosoftがSQL 2012のTSQL構文にEXPLAINコマンドを追加したことに注意してください。ただし、これはAzure SQL Data WarehouseとParallel Data Warehouseにのみ適用されるため、通常のRDBMS製品には適用されません。
XML形式の実行計画を提供し、ウェアハウスノード全体に分散される計画の部分をわかりやすく示します。
ソース: TSQL EXPLAIN
SSMS(18.3.1を取得)で、問題のクエリを強調表示してヒットします CTRL+L
(それはトビアスが述べたことを行います-Query->Display Estimated Query Plan
)