重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

管理者

このステートメントはTiDB拡張構文であり、TiDBのステータスを表示し、TiDB内のテーブルのデータを確認するために使用されます。

声明説明
ADMIN CANCEL DDL JOBS現在実行中のDDLジョブをキャンセルします。
ADMIN CHECKSUM TABLEテーブルのすべての行+インデックスのCRC64を計算します。
[`ADMIN CHECK [TABLEINDEX]`](/sql-statements/sql-statement-admin-check-table-index.md)
[`ADMIN SHOW DDL [JOBSQUERIES]`](/sql-statements/sql-statement-admin-show-ddl.md)

ADMIN RELOADステートメント

ADMIN RELOAD expr_pushdown_blacklist;

上記のステートメントは、式によってプッシュダウンされたブロックリストを再ロードするために使用されます。

ADMIN RELOAD opt_rule_blacklist;

上記のステートメントは、ロジック最適化ルールのブロックリストを再ロードするために使用されます。

ADMIN PLUGINS ENABLE plugin_name [, plugin_name] ...;

上記のステートメントは、 plugin_nameプラグインを有効にするために使用されます。

ADMIN PLUGINS DISABLE plugin_name [, plugin_name] ...;

上記のステートメントは、 plugin_nameプラグインを無効にするために使用されます。

ADMIN FLUSH bindings;

上記のステートメントは、SQLプランのバインディング情報を永続化するために使用されます。

ADMIN CAPTURE bindings;

上記のステートメントは、複数回発生するSELECTのステートメントからSQLプランのバインディングを生成できます。

ADMIN EVOLVE bindings;

自動バインド機能を有効にすると、SQLプランのバインド情報の展開がbind-info-leaveごとにトリガーされます(デフォルト値は3s )。上記のステートメントは、この進化を積極的にトリガーするために使用されます。

ADMIN RELOAD bindings;

上記のステートメントは、SQLプランのバインディング情報を再ロードするために使用されます。

ADMIN REPAIRステートメント

ノート:

このTiDBステートメントはTiDB Cloudには適用されません。

極端な場合に信頼できない方法で保存されたテーブルのメタデータを上書きするには、 ADMIN REPAIR TABLEを使用します。

ADMIN REPAIR TABLE tbl_name CREATE TABLE STATEMENT;

ここで「信頼できない」とは、元のテーブルのメタデータがCREATE TABLE STATEMENTの操作でカバーできることを手動で確認する必要があることを意味します。このREPAIRステートメントを使用するには、 repair-mode構成項目を有効にし、修復するテーブルがrepair-table-listにリストされていることを確認します。

ADMIN SHOW SLOWステートメント

ADMIN SHOW SLOW RECENT N;
ADMIN SHOW SLOW TOP [INTERNAL | ALL] N;

詳しくはadminshowslowステートメントをご覧ください。

あらすじ

AdminStmt
ADMINSHOWDDLJOBSInt64NumWhereClauseOptionalJOBQUERIESNumListTableNameNEXT_ROW_IDSLOWAdminShowSlowCHECKTABLETableNameListINDEXTableNameIdentifierHandleRange,RECOVERINDEXTableNameIdentifierCLEANUPINDEXTableNameIdentifierTABLELOCKTableNameListCHECKSUMTABLETableNameListCANCELDDLJOBSNumListRELOADEXPR_PUSHDOWN_BLACKLISTOPT_RULE_BLACKLISTBINDINGSPLUGINSENABLEDISABLEPluginNameListREPAIRTABLETableNameCreateTableStmtFLUSHCAPTUREEVOLVEBINDINGS

次のコマンドを実行して、現在実行中のDDLジョブキューで最後に完了した10個のDDLジョブを表示します。 NUMが指定されていない場合、デフォルトでは、最後に完了した10個のDDLジョブのみが表示されます。

admin show ddl jobs;
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+
| JOB_ID | DB_NAME | TABLE_NAME | JOB_TYPE            | SCHEMA_STATE   | SCHEMA_ID | TABLE_ID | ROW_COUNT | START_TIME                        | END_TIME                          | STATE         |
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+
| 45     | test    | t1         | add index     | write reorganization | 32        | 37       | 0         | 2019-01-10 12:38:36.501 +0800 CST |                                   | running       |
| 44     | test    | t1         | add index     | none                 | 32        | 37       | 0         | 2019-01-10 12:36:55.18 +0800 CST  | 2019-01-10 12:36:55.852 +0800 CST | rollback done |
| 43     | test    | t1         | add index     | public               | 32        | 37       | 6         | 2019-01-10 12:35:13.66 +0800 CST  | 2019-01-10 12:35:14.925 +0800 CST | synced        |
| 42     | test    | t1         | drop index    | none                 | 32        | 37       | 0         | 2019-01-10 12:34:35.204 +0800 CST | 2019-01-10 12:34:36.958 +0800 CST | synced        |
| 41     | test    | t1         | add index     | public               | 32        | 37       | 0         | 2019-01-10 12:33:22.62 +0800 CST  | 2019-01-10 12:33:24.625 +0800 CST | synced        |
| 40     | test    | t1         | drop column   | none                 | 32        | 37       | 0         | 2019-01-10 12:33:08.212 +0800 CST | 2019-01-10 12:33:09.78 +0800 CST  | synced        |
| 39     | test    | t1         | add column    | public               | 32        | 37       | 0         | 2019-01-10 12:32:55.42 +0800 CST  | 2019-01-10 12:32:56.24 +0800 CST  | synced        |
| 38     | test    | t1         | create table  | public               | 32        | 37       | 0         | 2019-01-10 12:32:41.956 +0800 CST | 2019-01-10 12:32:43.956 +0800 CST | synced        |
| 36     | test    |            | drop table    | none                 | 32        | 34       | 0         | 2019-01-10 11:29:59.982 +0800 CST | 2019-01-10 11:30:00.45 +0800  CST | synced        |
| 35     | test    |            | create table  | public               | 32        | 34       | 0         | 2019-01-10 11:29:40.741 +0800 CST | 2019-01-10 11:29:41.682 +0800 CST | synced        |
| 33     | test    |            | create schema | public               | 32        | 0        | 0         | 2019-01-10 11:29:22.813 +0800 CST | 2019-01-10 11:29:23.954 +0800 CST | synced        |
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+

次のコマンドを実行して、現在実行中のDDLジョブキューで最後に完了した5つのDDLジョブを表示します。

admin show ddl jobs 5;
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+
| JOB_ID | DB_NAME | TABLE_NAME | JOB_TYPE            | SCHEMA_STATE   | SCHEMA_ID | TABLE_ID | ROW_COUNT | START_TIME                        | END_TIME                          | STATE         |
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+
| 45     | test    | t1         | add index     | write reorganization | 32        | 37       | 0         | 2019-01-10 12:38:36.501 +0800 CST |                                   | running       |
| 44     | test    | t1         | add index     | none                 | 32        | 37       | 0         | 2019-01-10 12:36:55.18 +0800 CST  | 2019-01-10 12:36:55.852 +0800 CST | rollback done |
| 43     | test    | t1         | add index     | public               | 32        | 37       | 6         | 2019-01-10 12:35:13.66 +0800 CST  | 2019-01-10 12:35:14.925 +0800 CST | synced        |
| 42     | test    | t1         | drop index    | none                 | 32        | 37       | 0         | 2019-01-10 12:34:35.204 +0800 CST | 2019-01-10 12:34:36.958 +0800 CST | synced        |
| 41     | test    | t1         | add index     | public               | 32        | 37       | 0         | 2019-01-10 12:33:22.62 +0800 CST  | 2019-01-10 12:33:24.625 +0800 CST | synced        |
| 40     | test    | t1         | drop column   | none                 | 32        | 37       | 0         | 2019-01-10 12:33:08.212 +0800 CST | 2019-01-10 12:33:09.78 +0800 CST  | synced        |
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+

次のコマンドを実行して、テストデータベース内の未完了のDDLジョブを表示します。結果には、実行中のDDLジョブと、完了したが失敗した最後の5つのDDLジョブが含まれます。

admin show ddl jobs 5 where state!='synced' and db_name='test';
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+
| JOB_ID | DB_NAME | TABLE_NAME | JOB_TYPE            | SCHEMA_STATE   | SCHEMA_ID | TABLE_ID | ROW_COUNT | START_TIME                        | END_TIME                          | STATE         |
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+
| 45     | test    | t1         | add index     | write reorganization | 32        | 37       | 0         | 2019-01-10 12:38:36.501 +0800 CST |                                   | running       |
| 44     | test    | t1         | add index     | none                 | 32        | 37       | 0         | 2019-01-10 12:36:55.18 +0800 CST  | 2019-01-10 12:36:55.852 +0800 CST | rollback done |
+--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+
  • JOB_ID :各DDL操作は1つのDDLジョブに対応します。 JOB_IDは世界的にユニークです。
  • DB_NAME :DDL操作が実行されるデータベースの名前。
  • TABLE_NAME :DDL操作が実行されるテーブルの名前。
  • JOB_TYPE :DDL操作のタイプ。
  • SCHEMA_STATE :スキーマの現在の状態。 JOB_TYPEadd indexの場合、それはインデックスの状態です。 JOB_TYPEadd columnの場合、それは列の状態です。 JOB_TYPEcreate tableの場合、それはテーブルの状態です。一般的な状態は次のとおりです。
    • none :存在しないことを示します。 dropまたはcreateの操作が失敗してロールバックすると、通常はnoneの状態になります。
    • delete only :これらのwrite only delete reorganizationwrite reorganizationは中間状態です。これらの状態は、中間状態からの変換が非常に速いため、一般的な操作では表示されません。 write reorganizationの状態はadd indexの操作でのみ表示されます。これは、インデックスデータが追加されていることを意味します。
    • public :既存で使用可能であることを示します。 create tableadd index/columnのような操作が終了すると、通常はpublicの状態になります。つまり、作成されたテーブル/列/インデックスは通常、読み取りと書き込みができるようになります。
  • SCHEMA_ID :DDL操作が実行されるデータベースのID。
  • TABLE_ID :DDL操作が実行されるテーブルのID。
  • ROW_COUNTadd index操作の実行時に追加されたデータ行の数。
  • START_TIME :DDL操作の開始時刻。
  • END_TIME :DDL操作の終了時刻。
  • STATE :DDL操作の状態。一般的な状態は次のとおりです。
    • none :操作タスクがDDLジョブキューに入れられたが、前のタスクが完了するのを待っているため、まだ実行されていないことを示します。もう1つの理由は、ドロップ操作の実行後にnone状態になるが、まもなくsynced状態に更新されるためです。これは、すべてのTiDBインスタンスがこの状態に同期されたことを意味します。
    • running :操作が実行されていることを示します。
    • synced :操作が正常に実行され、すべてのTiDBインスタンスがこの状態に同期されたことを示します。
    • rollback done :操作が失敗し、ロールバックが終了したことを示します。
    • rollingback :操作が失敗し、ロールバックしていることを示します。
    • cancelling :操作がキャンセルされていることを示します。この状態は、 ADMIN CANCEL DDL JOBSコマンドを使用してDDLジョブをキャンセルした場合にのみ発生します。

MySQLの互換性

このステートメントは、MySQL構文のTiDB拡張です。