管理者

このステートメントは 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 RELOADステートメント

ADMIN RELOAD expr_pushdown_blacklist;

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

ADMIN RELOAD opt_rule_blacklist;

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

注記:

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

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;

ADMIN SHOW NEXT_ROW_IDステートメント

ADMIN SHOW t NEXT_ROW_ID;

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

ADMIN SHOW SLOWステートメント

注記:

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

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

概要

AdminStmt
ADMINSHOWDDLJOBSInt64NumWhereClauseOptionalJOBQUERIESNumListAdminStmtLimitOptTableNameNEXT_ROW_IDSLOWAdminShowSlowBDRROLECHECKTABLETableNameListINDEXTableNameIdentifierHandleRange,RECOVERINDEXTableNameIdentifierCLEANUPINDEXTableNameIdentifierTABLELOCKTableNameListCHECKSUMTABLETableNameListCANCELDDLJOBSNumListCANCELPAUSERESUMEDDLJOBSNumListRELOADEXPR_PUSHDOWN_BLACKLISTOPT_RULE_BLACKLISTBINDINGSSTATS_EXTENDEDSTATISTICSPLUGINSENABLEDISABLEPluginNameListREPAIRTABLETableNameCreateTableStmtFLUSHCAPTUREEVOLVEBINDINGSFLUSHSESSIONINSTANCEPLAN_CACHESETBDRROLEPRIMARYSECONDARYUNSETBDRROLE
NumList
Int64Num,
AdminStmtLimitOpt
LIMITLengthNumLIMITLengthNum,LengthNumLIMITLengthNumOFFSETLengthNum
TableNameList
TableName,

現在実行中の DDL ジョブ キュー内の最後の 10 件の完了した DDL ジョブを表示するには、次のコマンドを実行します。1 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 ジョブに対応します。2 JOB_IDグローバルに一意です。
  • DB_NAME : DDL 操作が実行されるデータベースの名前。
  • TABLE_NAME : DDL 操作が実行されるテーブルの名前。
  • JOB_TYPE : DDL 操作のタイプ。
  • SCHEMA_STATE : スキーマの現在の状態。 JOB_TYPEadd indexの場合はインデックスの状態、 JOB_TYPEadd columnの場合は列の状態、 JOB_TYPEcreate tableの場合はテーブルの状態です。一般的な状態は次のとおりです。
    • none : 存在しないことを示します。2 またはdrop create操作が失敗してロールバックすると、通常はnone状態になります。
    • delete only : これらの 4 つwrite only状態は中間状態です。中間状態からの変換は非常write reorganization速いため、これらの状態delete reorganization通常の操作では表示されませんwrite reorganization状態はadd index操作でのみ表示されます。これは、インデックス データが追加されていることを意味します。
    • public : 存在し使用可能であることを示します。2 やadd index/columnなどの操作が完了すると、通常はpublic状態になり、作成されたテーブル/列/インデックスを正常に読み書きできる状態にcreate tableます。
  • SCHEMA_ID : DDL 操作が実行されるデータベースの ID。
  • TABLE_ID : DDL 操作が実行されるテーブルの ID。
  • ROW_COUNT : add indexの操作を実行するときに追加されたデータ行の数。
  • START_TIME : DDL 操作の開始時刻。
  • END_TIME : DDL 操作の終了時刻。
  • STATE : DDL 操作の状態。一般的な状態は次のとおりです。
    • none : 操作タスクは DDL ジョブ キューに入れられたが、前のタスクが完了するのを待機しているため、まだ実行されていないことを示します。別の理由としては、ドロップ操作を実行した後にnone状態になったが、すぐにsynced状態に更新され、すべての TiDB インスタンスがこの状態に同期されたことが考えられます。
    • running : 操作が実行中であることを示します。
    • synced : 操作が正常に実行され、すべての TiDB インスタンスがこの状態に同期されたことを示します。
    • rollback done : 操作が失敗し、ロールバックが完了したことを示します。
    • rollingback : 操作が失敗し、ロールバック中であることを示します。
    • cancelling : 操作がキャンセルされていることを示します。この状態は、 ADMIN CANCEL DDL JOBSコマンドを使用して DDL ジョブをキャンセルした場合にのみ発生します。
    • paused : 操作が一時停止されていることを示します。この状態は、 ADMIN PAUSED DDL JOBSコマンドを使用して DDL ジョブを一時停止した場合にのみ表示されます。4 コマンドを使用してADMIN RESUME DDL JOBSジョブを再開できます。

MySQL 互換性

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

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