tencent cloud

TencentDB for MySQL

대형 테이블 비동기 삭제

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2025-09-25 09:48:29

기능 소개

이 기능은 주로 IO 지터를 피하기 위해 대용량 데이터 파일이 있는 테이블을 삭제하는 데 사용됩니다.
DROP TABLE 명령 실행 시 시스템은 원본 데이터베이스 파일(.ibd)을 새로운 임시 파일로 이름을 변경하고 즉시 작업 성공 메시지를 반환합니다. 이 임시 파일은 매개변수 innodb_async_drop_tmp_dir에 지정된 디렉토리에 저장되며, 백엔드에서 배치로 truncate 처리가 수행됩니다. 각 truncate된 파일 크기는 매개변수 innodb_async_truncate_size(MySQL 5.6 미지원, MySQL 5.7 및 8.0 지원)에 의해 제어됩니다.
해당 기능은 사용자의 별도 조작 없이 커널이 자동으로 수행합니다. 삭제 원리는, 테이블 삭제 시 다른 디렉터리에 테이블 데이터 파일의 하드 링크를 생성하고, DROP TABLE 명령을 실행할 때 삭제되는 것은 이 하드 링크입니다. 이후 백엔드 스레드는 하드 링크 디렉터리를 스캔하여 삭제할 파일을 발견하면, 백엔드에서 drop된 테이블의 데이터 파일을 자동으로 truncate합니다.

지원 버전

커널 버전 MySQL 5.6 20220303 이상
커널 버전 MySQL 5.7 20230601 이상
커널 버전 MySQL 8.0 20200630 이상

적용 시나리오

이 기능은 삭제할 테이블 데이터 파일이 매우 큰 시나리오에 적합합니다.

사용 설명

MySQL 5.6 버전 사용 설명
MySQL 5.7 및 MySQL 8.0 버전 사용 설명

기능 활성화 방법

1. 비동기적 대형 테이블 삭제 기능을 사용하기 전에, 매개변수 innodb_adaptive_hash_index를 OFF로 설정합니다.
2. 매개변수 innodb_async_truncate_work_enabled를 ON으로 설정하여 비동기적 대형 테이블 삭제 기능을 활성화합니다. 매개변수 설정에 대한 자세한 내용은 인스턴스 매개변수 설정을 참조하십시오.

관련 매개변수 설명

매개변수 이름
동적
유형
기본값
매개변수 값 범위
설명
innodb_adaptive_hash_index
yes
string
ON
ON/OFF
InnoDB 적응형 해시 인덱스 활성화 여부- ON: 활성화- OFF: 비활성화
innodb_async_truncate_work_enabled
yes
string
OFF
ON/OFF
비동기적 대형 테이블 삭제 기능 활성화 여부- ON:활성화- OFF:비활성화

기능 활성화 방법

1. 비동기적 대형 테이블 삭제 기능을 사용하기 전에, 매개변수 innodb_fast_ahi_cleanup_for_drop_table을 ON으로 설정합니다.
2. 매개변수 innodb_adaptive_hash_index를 OFF로 설정합니다.
3. 매개변수 innodb_table_drop_mode를 ASYNC_DROP으로 설정하여 비동기적 대형 테이블 삭제 기능을 활성화합니다. 매개변수 설정에 대한 자세한 내용은 인스턴스 매개변수 설정 을 참조하십시오.
4. (선택) 매개변수 innodb_fast_ddl을 ON으로 설정하여 비동기적 대형 테이블 삭제 기능의 효율이 향상됩니다. FAST DDL 기능 및 관련 매개변수에 대한 자세한 내용은 FAST DDL 을 참조하십시오.

관련 매개변수 설명

매개변수 이름
동적
유형
기본값
매개변수 값 범위
설명
innodb_fast_ahi_cleanup_for_drop_table
yes
string
ON
ON/OFF
적응형 해시 인덱스의 빠른 정리 최적화 활성화 여부- ON: 활성화 (hash 정리 지연으로 인한 대형 테이블 삭제 지연 방지)- OFF: 비활성화
innodb_adaptive_hash_index
yes
string
OFF
ON/OFF
InnoDB 적응형 해시 인덱스 활성화 여부- ON: 활성화- OFF: 비활성화
innodb_table_drop_mode
yes
string
ASYNC_DROP
SYNC_DROP/ASYNC_DROP
비동기적 대형 테이블 삭제 기능 활성화 여부- ASYNC_DROP: 비동기 모드(활성화)- SYNC_DROP: 동기 모드(비활성화)
innodb_async_truncate_size
yes
int
128
128 - 168
비동기적 대형 테이블 삭제 기능에서 백엔드로 truncate할 때마다 처리하는 파일 크기(단위: MB)

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백