Topik ini menjelaskan cara melihat kecepatan eksekusi DDL dan kemajuan pembuatan untuk Indeks Kolom dalam Memori (IMCI) dalam skenario IMCI dan InnoDB ketika tabel besar atau pernyataan DDL yang memakan waktu terlibat.
Skenario IMCI
Anda dapat melihat informasi berikut di tabel yang sesuai:
Di tabel
INFORMATION_SCHEMA.IMCI_INDEXES, lihat status IMCI.Di tabel
INFORMATION_SCHEMA.IMCI_INDEX_STATS, lihat kecepatan tulis IMCI.Di tabel
INFORMATION_SCHEMA.IMCI_ASYNC_DDL_STATS, lihat kecepatan eksekusi DDL dan kemajuan pembuatan untuk IMCI. Tugas untuk membangun data IMCI akan dihapus dalam 5 hingga 10 menit setelah tugas selesai. Informasi status lengkap IMCI dapat dilihat di tabelINFORMATION_SCHEMA.IMCI_INDEXES.Ketika versi kluster PolarDB for MySQL Enterprise Edition adalah 8.0.1.x lebih awal dari 8.0.1.1.34 atau 8.0.2.x lebih awal dari 8.0.2.2.15, tabel
INFORMATION_SCHEMA.IMCI_ASYNC_DDL_STATSmemiliki skema berikut:CREATE TABLE: CREATE TEMPORARY TABLE `IMCI_ASYNC_DDL_STATS` ( `SCHEMA_NAME` varchar(193) NOT NULL DEFAULT '', -- Nama database. `TABLE_NAME` varchar(193) NOT NULL DEFAULT '', -- Nama tabel. `CREATED_AT` varchar(64) NOT NULL DEFAULT '', -- Timestamp saat tugas dibuat. `STARTED_AT` varchar(64) NOT NULL DEFAULT '', -- Timestamp saat tugas dimulai. `FINISHED_AT` varchar(64) NOT NULL DEFAULT '', -- Timestamp saat tugas berakhir. `STATUS` varchar(128) NOT NULL DEFAULT '', -- Status. `APPROXIMATE_ROWS` bigint(8) NOT NULL DEFAULT '0', -- Perkiraan jumlah baris untuk data dasar. `SCANNED_ROWS` bigint(8) NOT NULL DEFAULT '0', -- Jumlah baris yang dipindai. Jumlah aktual mungkin lebih besar dari perkiraan. `AVG_SPEED` int(4) NOT NULL DEFAULT '0', -- Kecepatan rata-rata tugas. Unit: baris per detik. `SPEED_LAST_SECOND` int(4) NOT NULL DEFAULT '0', -- Kecepatan detik terakhir. Unit: baris per detik. `ESTIMATE_SECOND` bigint(8) NOT NULL DEFAULT '0' -- Waktu tersisa yang diperkirakan. Unit: detik. ) ENGINE=MEMORY DEFAULT CHARSET=utf8Ketika versi kluster PolarDB for MySQL Enterprise Edition adalah 8.0.1.x lebih awal dari 8.0.1.1.35 atau 8.0.2.x lebih awal dari 8.0.2.2.16, tabel
INFORMATION_SCHEMA.IMCI_ASYNC_DDL_STATSmemiliki skema berikut:Create Table: CREATE TEMPORARY TABLE `IMCI_ASYNC_DDL_STATS` ( `SCHEMA_NAME` varchar(193) NOT NULL DEFAULT '', -- Nama database. `TABLE_NAME` varchar(193) NOT NULL DEFAULT '', -- Nama tabel. `CREATED_AT` varchar(64) NOT NULL DEFAULT '', -- Timestamp saat tugas dibuat. `STARTED_AT` varchar(64) NOT NULL DEFAULT '', -- Timestamp saat tugas dimulai. `FINISHED_AT` varchar(64) NOT NULL DEFAULT '', -- Timestamp saat tugas berakhir. `STATUS` varchar(128) NOT NULL DEFAULT '', -- Status. `APPROXIMATE_ROWS` bigint(8) NOT NULL DEFAULT '0', -- Perkiraan jumlah baris untuk data dasar. `SCANNED_ROWS` varchar(128) NOT NULL DEFAULT '', -- Jumlah dan persentase baris yang dipindai. Jumlah aktual mungkin lebih besar dari perkiraan. `SCAN_SECOND` bigint(8) NOT NULL DEFAULT '0', -- Jumlah detik operasi pemindaian telah dilakukan. `SORT_ROUNDS` bigint(8) NOT NULL DEFAULT '0', -- Jumlah putaran pengurutan. Kolom ini hanya berlaku untuk skenario yang melibatkan kunci pengurutan. `SORT_SECOND` bigint(8) NOT NULL DEFAULT '0', -- Jumlah detik operasi pengurutan telah dilakukan. Kolom ini hanya berlaku untuk skenario yang melibatkan kunci pengurutan. `BUILD_ROWS` varchar(128) NOT NULL DEFAULT '', -- Jumlah dan persentase baris yang ditulis setelah pengurutan. Kolom ini hanya berlaku untuk skenario yang melibatkan kunci pengurutan. `BUILD_SECOND` bigint(8) NOT NULL DEFAULT '0', -- Waktu yang diperlukan untuk menulis data setelah pengurutan. Kolom ini hanya berlaku untuk skenario yang melibatkan kunci pengurutan. `AVG_SPEED` int(4) NOT NULL DEFAULT '0', -- Kecepatan rata-rata tugas. Unit: baris per detik. `SPEED_LAST_SECOND` int(4) NOT NULL DEFAULT '0', -- Kecepatan detik terakhir. Unit: baris per detik. Kolom ini berlaku untuk fase pemindaian dan pengurutan. `ESTIMATE_SECOND` bigint(8) NOT NULL DEFAULT '0' -- Waktu tersisa yang diperkirakan. Unit: detik. Kolom ini berlaku untuk fase pemindaian dan pengurutan. ) ENGINE=MEMORY DEFAULT CHARSET=utf8Nilai
SPEED_LAST_SECONDdapat berfluktuasi tergantung pada sumber daya sistem dan tugas bersamaan. NilaiESTIMATE_SECONDdapat berfluktuasi karena diperoleh dengan membagi jumlah baris tersisa dengan kecepatan detik terakhir. Jika pengekangan tulis dipicu, kecepatan detik terakhir mungkin 0. Dalam hal ini, nilaiESTIMATE_SECONDadalah 9223372036854775807.
Skenario InnoDB
Ketika Anda menggunakan pernyataan DDL untuk menambahkan IMCI atau membangun indeks, node AP memainkan ulang log redo dan menulis data ke IMCI. Kinerja node AP terutama bergantung pada kecepatan pemutaran ulang log dan kecepatan eksekusi DDL pada node utama. Anda dapat merujuk pada informasi pemantauan kinerja di konsol PolarDB untuk menilai kecepatan pemutaran ulang log, serta informasi pemantauan DDL pada InnoDB untuk mengevaluasi kecepatan eksekusi DDL pada node utama.
Informasi pemantauan DDL pada InnoDB bergantung pada modul Performance Schema. Anda dapat menanyakan pernyataan DDL yang sedang dieksekusi di tabel events_stages_current dan pernyataan DDL yang telah dieksekusi di tabel events_stages_history. Metrik utama termasuk WORK_COMPLETED dan WORK_ESTIMATED, yang diukur dalam halaman. Untuk informasi lebih lanjut, lihat Dokumentasi MySQL.