全部产品
Search
文档中心

ApsaraDB RDS:Purge Large File Asynchronously

更新时间:Jun 25, 2025

AliSQL menyediakan fitur Purge Large File Asynchronously untuk meningkatkan stabilitas layanan database Anda.

Informasi latar belakang

Saat mengeksekusi pernyataan DROP TABLE untuk menghapus data, file data InnoDB yang terkait dihapus langsung dari sistem file. Jika ukuran file data tersebut besar, proses penghapusan dapat menyebabkan masalah stabilitas serius pada Antarmuka Sistem Operasi Portabel (POSIX). Fitur Purge Large File Asynchronously memulai thread untuk menghapus file data secara asinkron. Saat Anda mengeksekusi pernyataan DROP TABLE, file data yang sesuai disimpan sebagai file sementara, dan thread dimulai untuk menghapus file data secara asinkron dan lancar.

Prosedur

  1. Eksekusi pernyataan berikut untuk melihat pengaturan variabel global instance RDS Anda:

    SHOW GLOBAL VARIABLES LIKE '%data_file_purge%';

    Kode berikut menunjukkan hasil kueri contoh:

      +----------------------------------------+-------+
      | Variable_name                          | Value |
      +----------------------------------------+-------+
      | innodb_data_file_purge                 | ON    |
      | innodb_data_file_purge_all_at_shutdown | OFF   |
      | innodb_data_file_purge_dir             |       |
      | innodb_data_file_purge_immediate       | OFF   |
      | innodb_data_file_purge_interval        | 100   |
      | innodb_data_file_purge_max_size        | 128   |
      | innodb_print_data_file_purge_process   | OFF   |
      +----------------------------------------+-------+

    Tabel berikut menjelaskan variabel global.

    Variabel

    Deskripsi

    innodb_data_file_purge

    Menentukan apakah akan mengaktifkan fitur Purge Large File Asynchronously.

    innodb_data_file_purge_all_at_shutdown

    Menentukan apakah akan menghapus semua file ketika host tempat instance RDS Anda berada dimatikan.

    innodb_data_file_purge_dir

    Direktori yang menyimpan file sementara.

    innodb_data_file_purge_immediate

    Menentukan apakah akan menyimpan file data dan hanya mencabut tautan file data tersebut.

    innodb_data_file_purge_interval

    Interval waktu penghapusan file. Unit: milidetik.

    innodb_data_file_purge_max_size

    Ukuran maksimum file tunggal yang dapat dihapus. Unit: MB.

    innodb_print_data_file_purge_process

    Menentukan apakah sistem menampilkan bilah kemajuan untuk menunjukkan kemajuan penghapusan file.

    Catatan

    Kami merekomendasikan agar Anda menggunakan pengaturan berikut:

    set global INNODB_DATA_FILE_PURGE = on;
    set global INNODB_DATA_FILE_PURGE_INTERVAL = 100;
    set global INNODB_DATA_FILE_PURGE_MAX_SIZE = 128;
  2. Eksekusi pernyataan berikut untuk melihat kemajuan penghapusan file:

    select * from information_schema.innodb_purge_files;

    Kode berikut menunjukkan hasil kueri contoh:

    +--------+---------------------+--------------------+---------------+-------------------------+--------------+
    | log_id | start_time          | original_path      | original_size | temporary_path          | current_size |
    +--------+---------------------+--------------------+---------------+-------------------------+--------------+
    |      0 | 2021-05-14 14:40:01 | ./file_purge/t.ibd |     146800640 | ./#FP_210514 14:40:01_9 |     79691776 |
    +--------+---------------------+--------------------+---------------+-------------------------+--------------+

    Tabel berikut menjelaskan parameter dalam hasil yang dikembalikan.

    Parameter

    Deskripsi

    start_time

    Titik waktu saat penghapusan dimulai.

    original_path

    Path asli folder tempat file data disimpan sebelum dihapus.

    original_size

    Ukuran asli file data sebelum dihapus. Unit: byte.

    temporary_path

    Path folder tempat file sementara disimpan saat dihapus.

    current_size

    Ukuran file sementara yang akan dihapus. Unit: byte.