Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Purge Large File Asynchronously

Dernière mise à jour :Aug 21, 2026

AliSQL propose la fonctionnalité Purge Large File Asynchronously pour améliorer la stabilité de votre service de base de données.

Contexte

Lorsque vous exécutez l'instruction DROP TABLE pour supprimer des données, le fichier de données InnoDB correspondant est directement supprimé du système de fichiers. Si ce fichier est volumineux, sa suppression peut entraîner de graves problèmes de stabilité au sein du système de fichiers POSIX (Portable Operating System Interface). La fonctionnalité Purge Large File Asynchronously lance un thread chargé de supprimer le fichier de données de manière asynchrone. Lors de l'exécution de l'instruction DROP TABLE, le fichier de données correspondant est enregistré en tant que fichier temporaire, et le thread démarre afin d'assurer une suppression fluide et asynchrone.

Procédure

  1. Exécutez l'instruction suivante pour consulter les paramètres des variables globales de votre instance RDS :

    SHOW GLOBAL VARIABLES LIKE '%data_file_purge%';

    Le code ci-dessous présente un exemple de résultat de requête :

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

    Le tableau suivant décrit les variables globales.

    Variable

    Description

    innodb_data_file_purge

    Indique si la fonctionnalité Purge Large File Asynchronously est activée.

    innodb_data_file_purge_all_at_shutdown

    Indique si tous les fichiers doivent être supprimés lors de l'arrêt de l'hôte hébergeant votre instance RDS.

    innodb_data_file_purge_dir

    Répertoire de stockage des fichiers temporaires.

    innodb_data_file_purge_immediate

    Indique si les fichiers de données sont conservés tandis que seuls leurs liens sont révoqués.

    innodb_data_file_purge_interval

    Intervalle entre les suppressions de fichiers, exprimé en millisecondes.

    innodb_data_file_purge_max_size

    Taille maximale d'un fichier unique pouvant être supprimé, exprimée en Mo.

    innodb_print_data_file_purge_process

    Indique si le système affiche une barre de progression pour suivre l'avancement de la suppression des fichiers.

    Remarque

    Nous vous recommandons d'utiliser les paramètres suivants :

    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. Exécutez l'instruction suivante pour consulter la progression de la suppression des fichiers :

    select * from information_schema.innodb_purge_files;

    Le code ci-dessous présente un exemple de résultat de requête :

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

    Le tableau suivant décrit les paramètres figurant dans le résultat renvoyé.

    Parameter

    Description

    start_time

    Instant auquel la suppression débute.

    original_path

    Chemin d'origine du dossier contenant les fichiers de données avant leur suppression.

    original_size

    Taille d'origine des fichiers de données avant leur suppression, exprimée en octets.

    temporary_path

    Chemin du dossier contenant les fichiers temporaires pendant leur suppression.

    current_size

    Taille des fichiers temporaires en attente de suppression, exprimée en octets.