全部产品
Search
文档中心

PolarDB:Lihat Kecepatan Eksekusi DDL dan Kemajuan Pembuatan untuk IMCI

更新时间:Jul 02, 2025

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 tabel INFORMATION_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_STATS memiliki 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=utf8
    • Ketika 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_STATS memiliki 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=utf8

      Nilai SPEED_LAST_SECOND dapat berfluktuasi tergantung pada sumber daya sistem dan tugas bersamaan. Nilai ESTIMATE_SECOND dapat berfluktuasi karena diperoleh dengan membagi jumlah baris tersisa dengan kecepatan detik terakhir. Jika pengekangan tulis dipicu, kecepatan detik terakhir mungkin 0. Dalam hal ini, nilai ESTIMATE_SECOND adalah 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.