TiDB ダッシュボードのステートメント実行の詳細
リスト内の任意の項目をクリックして SQL ステートメントの詳細ページに入り、より詳細な情報を表示します。この情報には次の部分が含まれます。
- SQL ステートメントの概要。これには、SQL テンプレート、SQL テンプレート ID、表示される SQL 実行の現在の時間範囲、実行プランの数、SQL ステートメントが実行されるデータベース、および高速プラン バインディング機能 (エリア) が含まれます。次の図の 1)。
- 実行計画リスト: SQL ステートメントに複数の実行計画がある場合、このリストが表示されます。 TiDB v6.2.0 では、実行計画のテキスト情報に加えて、視覚的な実行計画が導入されており、これによりステートメントの各演算子や詳細情報をより直観的に学ぶことができます。さまざまな実行プランを選択でき、選択したプランの詳細がリストの下に表示されます (次の図の領域 2)。
- プランの実行の詳細。選択した実行プランの詳細情報が表示されます。 実行計画の詳細 (次の図の領域 3) を参照してください。
高速プランバインディング
v6.6.0 以降、TiDB には高速プラン バインディング機能が導入されています。 TiDB ダッシュボードで SQL ステートメントを特定の実行プランにすばやくバインドできます。
使用法
実行計画をバインドする
「計画のバインド」をクリックします。 [プランのバインド]ダイアログ ボックスが表示されます。
バインドするプランを選択し、 「バインド」をクリックします。
バインドが完了すると、 「Bound」ラベルが表示されます。
既存のバインディングを削除する
既存のバインドがある SQL ステートメントのページで、 「バインディングの計画」をクリックします。 [プランのバインド]ダイアログ ボックスが表示されます。
[ドロップ]をクリックします。
バインディングが削除されると、 「未バインド」ラベルが表示されます。
制限
現在、高速プラン バインディング機能は、次のタイプの SQL ステートメントをサポートしていません。
SELECT
、DELETE
、UPDATE
、INSERT
、またはREPLACE
ではないステートメント- サブクエリを含むクエリ
- TiFlashにアクセスするクエリ
- 3 つ以上のテーブルを結合するクエリ
この機能を使用するには、SUPER 権限が必要です。使用中に権限の問題が発生した場合は、 TiDB ダッシュボードのユーザー管理を参照して必要な権限を追加してください。
計画の実行内容
プランの実行の詳細には、次の情報が含まれます。
- SQL サンプル: 計画に応じて実際に実行される特定の SQL 文のテキスト。時間範囲内に実行された SQL ステートメントは、SQL サンプルとして使用される可能性があります。
- 実行計画: 実行計画に関する完全な情報がグラフとテキストで表示されます。実行計画の詳細については、 クエリ実行計画を理解するを参照してください。複数の実行プランが選択されている場合は、そのうちの (いずれか) 1 つだけが表示されます。
- SQL ステートメントの基本情報、実行時間、コプロセッサー読み取り、トランザクション、低速クエリについては、対応するタブ タイトルをクリックしてさまざまな情報を切り替えることができます。
基本タブ
SQL 実行の基本情報には、テーブル名、インデックス名、実行回数、合計レイテンシーが含まれます。 「説明」列には、各フィールドの詳細な説明が記載されています。
時間タブ
[時間]タブをクリックすると、実行計画の各ステージの所要時間を確認できます。
ノート:
一部の操作は 1 つの SQL ステートメント内で並行して実行される場合があるため、各ステージの累積所要時間は SQL ステートメントの実際の実行時間を超える可能性があります。
コプロセッサー読み取りタブ
[コプロセッサー読み取り]タブをクリックすると、コプロセッサー読み取りに関連する情報が表示されます。
トランザクションタブ
「トランザクション」タブをクリックすると、書き込まれたキーの平均数や書き込まれたキーの最大数など、実行計画とトランザクションに関連する情報が表示されます。
「スロークエリ」タブ
実行プランの実行が遅すぎる場合は、 [スロー クエリ]タブに関連するスロー クエリ レコードが表示されます。
この領域に表示される情報は、スロー クエリ ページと同じ構造になっています。詳細についてはTiDB ダッシュボードの低速クエリ ページを参照してください。