Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Purge Large File Asynchronously

Última atualização: Aug 21, 2026

O AliSQL oferece o recurso Purge Large File Asynchronously para aumentar a estabilidade do seu service de banco de dados.

Informações básicas

A execução da instrução DROP TABLE para excluir dados remove diretamente o arquivo de dados correspondente do InnoDB do sistema de arquivos. Se esse arquivo for grande, a exclusão pode causar problemas graves de estabilidade no sistema de arquivos POSIX (Portable Operating System Interface). O recurso Purge Large File Asynchronously inicia uma thread para remover o arquivo de dados de forma assíncrona. Ao executar a instrução DROP TABLE, o sistema salva o arquivo de dados correspondente como um arquivo temporário e inicia uma thread para excluí-lo de maneira assíncrona e gradual.

Procedimento

  1. Execute a seguinte instrução para visualizar as configurações de variáveis globais da sua instância RDS:

    SHOW GLOBAL VARIABLES LIKE '%data_file_purge%';

    O código a seguir mostra um exemplo de resultado da consulta:

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

    A tabela a seguir descreve as variáveis globais.

    Variável

    Descrição

    innodb_data_file_purge

    Defina se o recurso Purge Large File Asynchronously deve ser ativado.

    innodb_data_file_purge_all_at_shutdown

    Indica se todos os arquivos devem ser excluídos quando o host da instância RDS for desligado.

    innodb_data_file_purge_dir

    Diretório onde os arquivos temporários são armazenados.

    innodb_data_file_purge_immediate

    Determina se os arquivos de dados devem ser mantidos, removendo apenas seus links.

    innodb_data_file_purge_interval

    Intervalo entre as exclusões de arquivos. Unidade: milissegundos.

    innodb_data_file_purge_max_size

    Tamanho máximo de um único arquivo que pode ser excluído. Unidade: MB.

    innodb_print_data_file_purge_process

    Controla se o sistema exibe uma barra de progresso durante a exclusão dos arquivos.

    Nota

    Recomendamos utilizar as seguintes configurações:

    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. Execute a instrução a seguir para visualizar o progresso da exclusão de arquivos:

    select * from information_schema.innodb_purge_files;

    O código a seguir apresenta um exemplo de resultado da consulta:

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

    A tabela a seguir detalha os parâmetros retornados no resultado.

    Parâmetro

    Descrição

    start_time

    Momento em que a exclusão foi iniciada.

    original_path

    Caminho original da pasta onde os arquivos de dados estavam armazenados antes da exclusão.

    original_size

    Tamanho original dos arquivos de dados antes da exclusão. Unidade: bytes.

    temporary_path

    Caminho da pasta onde os arquivos temporários ficam armazenados durante a exclusão.

    current_size

    Tamanho atual dos arquivos temporários pendentes de exclusão. Unidade: bytes.