📣

TiDB Cloud Serverless が
Starter
に変わりました!このページは自動翻訳されたものです。
原文はこちらからご覧ください。

管理者

このステートメントはTiDBの拡張構文であり、TiDBのステータスを表示し、TiDB内のテーブルのデータを確認するために使用されます。このドキュメントでは、以下のADMIN関連ステートメントについて説明します。

声明説明
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;

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

注記:

この機能はTiDB Cloud Serverlessクラスターでは利用できません。

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

極端な場合、保存されたテーブルのメタデータを信頼できない方法で上書きするには、 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;

上記の文は、テーブル内の特定の列の詳細を表示するために使用されています。出力はテーブルの次の行IDを表示と同じです。

ADMIN SHOW SLOWステートメント

注記:

この機能はTiDB Cloud Serverlessクラスターでは利用できません。

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

詳細はADMIN SHOW SLOWコマンドを参照。

概要

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

テーブルの特定の列の詳細を表示するには、次のコマンドを実行します。出力はテーブルの次の行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 : スキーマの現在の状態。2 がJOB_TYPE add index場合はインデックスの状態、 JOB_TYPEadd column場合は列の状態、 JOB_TYPEcreate tableの場合はテーブルの状態です。一般的な状態には以下が含まれます。
    • none :存在しないことを示します。2またはdrop create操作が失敗してロールバックされた場合、通常はnone状態になります。
    • delete only :これらwrite reorganization 4つの状態は中間状態です。中間状態からの変換write only非常に高速であるため、 write reorganizationの状態は通常の操作では確認できません。8番目の状態はadd index delete reorganizationでのみ確認でき、これはインデックスデータが追加されていることを意味します。
    • 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使用して DDL ジョブを再開できます。

MySQLの互換性

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

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