mysql.rds_execute_operation - Amazon Relational Database Service

mysql.rds_execute_operation

Executa operações do InnoDB para gerenciar estados de grupo de buffers e espaços para tabela temporários. Esse procedimento pode ser usado para controlar dinamicamente as operações do InnoDB, como despejar e carregar estados do grupo de buffers ou truncar o espaço para tabela temporário.

Sintaxe

CALL mysql.rds_execute_operation(operation);

Parâmetros

Operação do

String. As operações do InnoDB a serem executadas. Os valores válidos são:

  • innodb_buffer_pool_dump_now: operação que despeja o estado atual do grupo de buffers.

  • innodb_buffer_pool_load_now: operação que carrega o estado do grupo de buffers salvo.

  • innodb_buffer_pool_load_abort: operação que cancela uma operação de carregamento do grupo de buffers.

  • innodb_truncate_temporary_tablespace_now: operação que trunca o espaço para tabela temporário.

Observações de uso

Esse procedimento só é compatível com instâncias de banco de dados MariaDB que executam MariaDB versão 11.8 e versões posteriores.

Durante a execução, o registro em log binário é temporariamente desabilitado para impedir a replicação desses comandos administrativos.

O procedimento mantém uma trilha de auditoria registrando em log todas as operações na tabela mysql.rds_history.

Exemplos

O exemplo a seguir demonstra a redução temporária do espaço para tabela usando mysql.rds_execute_operation:

Para conferir o tamanho atual do espaço para tabela temporário, execute a seguinte consulta:

SELECT FILE_SIZE FROM information_schema.innodb_sys_tablespaces WHERE name LIKE 'innodb_temporary'; +------------+ | FILE_SIZE | +------------+ | 6723469312 | -- 6.3 GB +------------+

Quando você elimina tabelas temporárias, isso não reduz o uso de armazenamento no espaço para tabela global. Para reduzir o tamanho do espaço para tabela global, execute o comando mysql.rds_execute_operation para reduzir o espaço para tabela temporário.

CALL mysql.rds_execute_operation('innodb_truncate_temporary_tablespace_now'); Query OK, 2 rows affected (0.004 sec)

Depois de executar o procedimento, verifique se o espaço foi recuperado.

SELECT FILE_SIZE FROM information_schema.innodb_sys_tablespaces WHERE name LIKE 'innodb_temporary'; +-----------+ | FILE_SIZE | +-----------+ | 12582912 | -- 12 MB +-----------+
nota

A operação de redução pode levar algum tempo, dependendo do tamanho do espaço para tabela temporário e da workload atual.

Importante

O espaço para tabela temporário diminui somente quando todas as tabelas temporárias que contribuíram para seu tamanho não estão mais em uso. Recomendamos que você execute esse procedimento quando não houver espaços para tabela temporários ativos na instância.