このトピックでは、大規模なテーブルまたは時間のかかるDDLステートメントが含まれる場合に、IMCIおよびInnoDBシナリオのインメモリ列インデックス (IMCI) のDDL実行速度とビルドの進行状況を表示する方法について説明します。
IMCIシナリオ
対応するテーブルで次の情報を表示できます。
INFORMATION_SCHEMA.IMCI_INDEXES
テーブルで、IMCIの状態を表示します。INFORMATION_SCHEMA.IMCI_INDEX_STATS
テーブルで、IMCIの書き込み速度を確認します。INFORMATION_SCHEMA.IMCI_ASYNC_DDL_STATS
テーブルで、IMCIのDDL実行速度とビルドの進行状況を表示します。 IMCIデータを構築するためのタスクは、タスクが完了してから5〜10分以内にクリアされます。 IMCIの完全なステータス情報は、INFORMATION_SCHEMA.IMCI_INDEXES
テーブルで確認できます。PolarDB for MySQL Enterprise Editionクラスターのバージョンが8.0.1.34より8.0.1.x前または8.0.2.2.15より8.0.2.x前の場合、
INFORMATION_SCHEMA.IMCI_ASYNC_DDL_STATS
テーブルには次のスキーマがあります。CREATE TABLE: 一時テーブルの作成 'IMCI_ASYNC_DDL_STATS '( 'SCHEMA_NAME' varchar(193) NOT NULL DEFAULT '', -- データベース名。 'TABLE_NAME' varchar(193) NOT NULL DEFAULT '', -- テーブル名。 'CREATE_AT' varchar(64) NOT NULL DEFAULT '', -- タスクが作成されたときのタイムスタンプ。 'STARTED_AT' varchar(64) NOT NULL DEFAULT '', -- タスクが開始されたときのタイムスタンプ。 'FINISHED_AT' varchar(64) NOT NULL DEAULT '', -- タスクが終了したときのタイムスタンプ。 'STATUS' varchar(128) NOT NULL DEFAULT '', -- ステータス。 'APPROXIMATE_ROWS 'bigint (8) NOT NULL DEFAULT '0', -ベースラインデータの推定行数。 'SCANNED_ROWS 'bigint (8) NOT NULL DEAULT '0', -- スキャンされた行の数。 実際の数は、推定数よりも大きくてもよい。 'AVG_SPEED' int(4) NOT NULL DEFAULT '0', -- タスクの平均速度。 単位: 1秒あたりの行数。 'SPEED_LAST_SECOND 'int(4) NOT NULL DEFAULT '0', − 最後の秒の速度。 単位: 1秒あたりの行数。 'ESTIMATE_SECOND' bigint(8) NOT NULL DEFAULT '0' − 推定残り時間。 単位は秒です。 ) エンジン=メモリデフォルト料金=utf8
PolarDB for MySQL Enterprise Editionクラスターのバージョンが8.0.1.35より8.0.1.x前または8.0.2.2.16より8.0.2.x前の場合、
INFORMATION_SCHEMA.IMCI_ASYNC_DDL_STATS
テーブルのスキーマは次のとおりです。テーブルの作成: 一時テーブルの作成 'IMCI_ASYNC_DDL_STATS '( 'SCHEMA_NAME' varchar(193) NOT NULL DEFAULT '', -- データベース名。 'TABLE_NAME' varchar(193) NOT NULL DEFAULT '', -- テーブル名。 'CREATE_AT' varchar(64) NOT NULL DEFAULT '', -- タスクが作成されたときのタイムスタンプ。 'STARTED_AT' varchar(64) NOT NULL DEFAULT '', -- タスクが開始されたときのタイムスタンプ。 'FINISHED_AT' varchar(64) NOT NULL DEAULT '', -- タスクが終了したときのタイムスタンプ。 'STATUS' varchar(128) NOT NULL DEFAULT '', -- ステータス。 'APPROXIMATE_ROWS 'bigint (8) NOT NULL DEFAULT '0', -ベースラインデータの推定行数。 'SCANNED_ROWS' varchar(128) NOT NULL DEAULT ''、-スキャンされた行の数と割合。 実際の数は、推定数よりも大きくてもよい。 'SCAN_SECOND' bigint(8) NOT NULL DEFAULT '0', -- スキャン動作が実行された秒数。 'SORT_ROUNDS' bigint(8) NOT NULL DEFAULT '0', -- ソートラウンドの数。 この列は、ソートキーを含むシナリオにのみ適用されます。 'SORT_SECOND 'bigint (8) NOT NULL DEFAULT '0', -- ソート操作が実行された秒数。 この列は、ソートキーを含むシナリオにのみ適用されます。 'BUILD_ROWS' varchar(128) NOT NULL DEFAULT ''、-ソート後の書き込まれた行の数と割合。 この列は、ソートキーを含むシナリオにのみ適用されます。 'BUILD_SECOND 'bigint (8) NOT NULL DEFAULT '0', -- ソート後にデータを書き込むのに必要な時間。 この列は、ソートキーを含むシナリオにのみ適用されます。 'AVG_SPEED' int(4) NOT NULL DEFAULT '0', -- タスクの平均速度。 単位: 1秒あたりの行数。 'SPEED_LAST_SECOND 'int(4) NOT NULL DEFAULT '0', − 最後の秒の速度。 単位: 1秒あたりの行数。 この列は、スキャンおよびソートフェーズに適用できます。 'ESTIMATE_SECOND' bigint(8) NOT NULL DEFAULT '0' − 推定残り時間。 単位は秒です。 この列は、スキャンおよびソートフェーズに適用できます。 ) エンジン=メモリデフォルト料金=utf8
SPEED_LAST_SECOND
の値は、システムリソースと同時タスクによって変動する場合があります。ESTIMATE_SECOND
の値は、残りの行数を最後の1秒の速度で割った値であるため、変動する場合があります。 書き込み抑制がトリガされる場合、最後の1秒の速度は0であり得る。 この場合、ESTIMATE_SECOND
の値は9223372036854775807です。
InnoDBシナリオ
DDLステートメントを使用してIMCIを追加したり、インデックスを作成したりすると、APノードはredoログを再生し、IMCIにデータを書き込みます。 APノードのパフォーマンスは、主にログ再生速度とプライマリノードのDDL実行速度に依存します。 PolarDBコンソールでパフォーマンスモニタリング情報を参照してログ再生速度を評価し、InnoDBのDDLモニタリング情報を参照してプライマリノードでのDDL実行速度を評価できます。
InnoDBのDDLモニタリング情報は、パフォーマンススキーマモジュールによって異なります。 events_stages_current
テーブルで実行されているDDLステートメントと、events_stages_history
テーブルで実行されているDDLステートメントを照会できます。 主な指標には、WORK_COMPLETED
とWORK_ESTIMATED
があります。 どちらもページ単位で測定されます。 詳細については、「MySQLドキュメント」をご参照ください。