実行計画(Explain)機能の使用
10.2.0から追加された機能です。 (10.2.0基準MySQLのみサポートします。) 11.2.0から管理者がこの機能を無効化できるように変更されました。 ユーザーがこの機能を使用できない場合、管理者が政策的に無効化したものです。
Overview
ユーザーがWorkflowを通じてSQL Requestを要求する時、該当クエリに対してDBMSで提供する実行計画(Explain構文)を使用してクエリに対する制限的な手順情報を確認できます。 この機能はDBMSに依存する機能であるため、WorkflowのSQL Request作成時に接続に該当するDBMSごとに差がある場合があります。
実行計画とは?
データベースのオプティマイザーが最も最適なクエリを実行するために生成する一連の作業セットまたは作業手順です。
段階的に実行段階を見ることができ、段階別コストを見ることができます。
SQL Request作成および実行計画(Explain)実行
QueryPie WorkflowでSQL Requestを作成する基本方法は同じです。 (参考:SQL Request要求)
- MySQL ConnectionおよびDatabase選択
クエリを実行するMySQL ConnectionとDatabaseを選択してクエリを入力します。
Content Typeは「Text」のみサポートします。 「File」を選択すると実行計画(Explain)機能を使用できません。

- 実行計画(Explain)オプションおよび実行計画実行
クエリエディター下部にあるオプションを選択してExplainボタンを押します。- Attach Explain Results : 実行計画の結果をSQL Requestに添付するかを選択するスイッチです。 (基本値はOFFです。必要な場合スイッチをONに切り替えて実行計画結果を添付する必要があります。)
- 結果表示方式選択
- Table : テーブル形式で結果が表示されます。
- JSON : JSON形式で結果が表示されます。

- 実行計画対象となるクエリ(セミコロンで終わる構文)は100個に制限されます。
- MySQLは5.6以降からExplainの結果をJSONフォーマットで出力できます。したがって5.6以前バージョンを対象にExplainを実行する場合、JSONで出力できません。

- 実行計画(Explain)結果確認
- Table形式の結果確認
以下の図のような結果が表示されます。各フィールドの意味はMySQL reference文書を参照してください。

- JSON形式の結果確認
JSONを選択してExplainボタンを押すと以下の図のような結果が表示されます。{JSON}をクリックすると全体JSON内容を確認できます。
エクスポート(Export)する時、管理者設定に応じてパスワード入力を要求するポップアップが出力される場合があります。

{JSON}をクリックすると全体内容を見ることができます。
JSON結果のコピーとエクスポートが可能です。
- Table形式の結果確認
その他参考事項
- 承認者(Approver)の実行計画(Explain)結果確認
承認者はExplain Resultsタブで添付された実行計画(Explain)結果を確認し、承認の参考資料として活用できます。

承認者が見ることができる実行計画(Explain)結果は申請者が実行計画を実行する時選択したフォーマットでのみ見ることができます。 つまり、申請者が実行計画をJSON形式で出力するよう設定して添付して申請した場合、承認者はJSON形式の結果のみ見ることができ、出力形式をテーブルに変更することはできません。
- MySQLで実行計画(Explain)を通じて検討可能な構文
MySQLはバージョン別に実行計画を通じて分析するサポート構文が異なります。
| MySQL 5.6.3以前 | MySQL 5.6.3以降 |
|---|---|
| SELECT | SELECT , DELETE , INSERT , REPLACE , UPDATE |
optimizer_trace、analyzeはSQL Requestで提供する実行計画(Explain)実行機能でサポートしません。