管理者

このステートメントは TiDB 拡張構文であり、TiDB のステータスを表示し、TiDB 内のテーブルのデータをチェックするために使用されます。このドキュメントでは、次のADMIN関連ステートメントを紹介します。

声明説明
ADMIN CANCEL DDL JOBS現在実行中の DDL ジョブをキャンセルします。
ADMIN PAUSE DDL JOBS現在実行中の DDL ジョブを一時停止します。
ADMIN RESUME 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 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 SHOW TELEMETRYテレメトリ機能の一部として PingCAP にレポートされる情報を表示します。

ADMIN RELOADステートメント

ADMIN RELOAD expr_pushdown_blacklist;

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

ADMIN RELOAD opt_rule_blacklist;

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

注記:

この機能はTiDB サーバーレスクラスターでは使用できません。

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 Plan のバインディングを生成できます。

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 NEXT_ROW_IDステートメント

ADMIN SHOW t NEXT_ROW_ID;

上記のステートメントは、テーブルのいくつかの特別な列の詳細を表示するために使用されます。出力はテーブルのNEXT_ROW_IDを表示と同じです。

ADMIN SHOW SLOWステートメント

注記:

この機能はTiDB サーバーレスクラスターでは使用できません。

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

詳細はADMIN SHOW SLOWコマンドを参照してください。

あらすじ

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 | +--------+---------+------------+---------------------+----------------+-----------+----------+-----------+-----------------------------------+-----------------------------------+---------------+

次のコマンドを実行して、テーブルのいくつかの特別な列の詳細を表示します。出力はテーブルのNEXT_ROW_IDを表示と同じです。

ADMIN SHOW t NEXT_ROW_ID;
+---------+------------+-------------+--------------------+----------------+ | DB_NAME | TABLE_NAME | COLUMN_NAME | NEXT_GLOBAL_ROW_ID | ID_TYPE | +---------+------------+-------------+--------------------+----------------+ | test | t | _tidb_rowid | 101 | _TIDB_ROWID | | test | t | _tidb_rowid | 1 | AUTO_INCREMENT | +---------+------------+-------------+--------------------+----------------+ 2 rows in set (0.01 sec)

次のコマンドを実行して、テスト データベース内の未完了の 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 onlywrite onlydelete reorganizationwrite reorganization : これら 4 つの状態は中間状態です。中間状態からの変換は非常に速いため、これらの状態は一般的な操作では表示されません。 add index操作でのみwrite reorganization状態が表示されます。これは、インデックス データが追加されていることを意味します。
    • public : 存在し、使用可能であることを示します。 create tableadd index/columnの操作が完了すると、通常はpublic状態になります。これは、作成されたテーブル/カラム/インデックスが正常に読み書きできるようになることを意味します。
  • SCHEMA_ID : DDL 操作が実行されるデータベースの ID。
  • TABLE_ID : DDL 操作が実行されるテーブルの ID。
  • ROW_COUNT : add 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 ジョブをキャンセルした場合にのみ発生します。
    • paused : 操作が一時停止されていることを示します。この状態は、 ADMIN PAUSED DDL JOBSコマンドを使用して DDL ジョブを一時停止した場合にのみ表示されます。 ADMIN RESUME DDL JOBSコマンドを使用して DDL ジョブを再開できます。

MySQLの互換性

このステートメントは、MySQL 構文に対する TiDB 拡張機能です。

このページは役に立ちましたか?

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.