mysql.rds_execute_operation
InnoDB 작업을 실행하여 버퍼 풀 상태와 임시 테이블스페이스를 관리합니다. 이 절차는 버퍼 풀 상태 덤핑 및 로드 또는 임시 테이블스페이스 자르기와 같은 InnoDB 작업을 동적으로 제어하는 데 사용할 수 있습니다.
구문
CALL mysql.rds_execute_operation(operation);
파라미터
- 작업
-
문자열. 실행할 InnoDB 작업입니다. 유효한 값은 다음과 같습니다.
innodb_buffer_pool_dump_now - 버퍼 풀의 현재 상태를 덤프하는 작업입니다.
innodb_buffer_pool_load_now - 저장된 버퍼 풀 상태를 로드하는 작업입니다.
innodb_buffer_pool_load_abort - 버퍼 풀 로드 작업을 중단하는 작업입니다.
innodb_truncate_temporary_tablespace_now - 임시 테이블스페이스를 잘라내는 작업입니다.
사용 노트
이 프로시저는 MariaDB 버전 11.8 이상을 실행하는 MariaDB DB 인스턴스에 대해서만 지원됩니다.
실행 중에는 이러한 관리 명령의 복제를 방지하기 위해 바이너리 로깅이 일시적으로 비활성화됩니다.
이 절차는 mysql.rds_history
예시
다음 예제에서는 mysql.rds_execute_operation을 사용한 임시 테이블스페이스 축소를 보여 줍니다.
현재 임시 테이블스페이스 크기를 확인하려면 다음 쿼리를 실행합니다.
SELECT FILE_SIZE FROM information_schema.innodb_sys_tablespaces WHERE name LIKE 'innodb_temporary'; +------------+ | FILE_SIZE | +------------+ | 6723469312 | -- 6.3 GB +------------+
임시 테이블을 삭제해도 글로벌 테이블스페이스의 스토리지 사용량은 줄어들지 않습니다. 전역 테이블스페이스의 크기를 줄이려면 mysql.rds_execute_operation 명령을 실행하여 임시 테이블스페이스를 축소합니다.
CALLmysql.rds_execute_operation('innodb_truncate_temporary_tablespace_now');Query OK, 2 rows affected (0.004 sec)
프로시저를 실행한 후 스페이스가 회수되었는지 확인합니다.
SELECT FILE_SIZE FROM information_schema.innodb_sys_tablespaces WHERE name LIKE 'innodb_temporary'; +-----------+ | FILE_SIZE | +-----------+ | 12582912 | -- 12 MB +-----------+
참고
축소 작업은 임시 테이블스페이스 크기 및 현재 워크로드에 따라 시간이 걸릴 수 있습니다.
중요
임시 테이블스페이스는 크기에 기여한 모든 임시 테이블을 더 이상 사용하지 않는 경우에만 축소됩니다. 인스턴스에 활성 임시 테이블스페이스가 없는 경우이 절차를 실행하는 것이 좋습니다.