Loading...
MySQL 9.5 Reference Manual 9.5의 17.12.5 Configuring Parallel Threads for Online DDL Operations의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
보조 인덱스를 생성하거나 재구축하는 온라인 DDL 작업의 워크플로에는 다음이 포함됩니다:
클러스터드 인덱스를 스캔하고 데이터를 임시 정렬 파일에 기록
데이터를 정렬
임시 정렬 파일에서 정렬된 데이터를 보조 인덱스로 로딩
클러스터드 인덱스를 스캔하는 데 사용할 수 있는 병렬 스레드 수는
innodb_parallel_read_threads
변수로 정의됩니다. 기본 설정값은 시스템에서 사용 가능한 논리 프로세서 수를 8로 나눈 값으로 계산되며, 최소 기본값은 4입니다. 최대 설정값은 256이며, 이는 모든 세션에 대한 최대값입니다. 실제로 클러스터드 인덱스를 스캔하는 스레드 수는
innodb_parallel_read_threads
설정값과 스캔할 인덱스 서브트리 수 중 더 작은 값입니다. 스레드 한도에 도달하면 세션은 단일 스레드 사용으로 되돌아갑니다.
데이터를 정렬하고 로드하는 병렬 스레드 수는
innodb_ddl_threads 변수로 제어됩니다.
기본 설정값은 4입니다.
다음과 같은 제한 사항이 적용됩니다:
가상 컬럼을 포함하는 인덱스를 빌드하는 경우 병렬 스레드가 지원되지 않습니다.
전체 텍스트 인덱스 생성 시 병렬 스레드가 지원되지 않습니다.
공간 인덱스 생성 시 병렬 스레드가 지원되지 않습니다.
가상 컬럼으로 정의된 테이블에서는 병렬 스캔이 지원되지 않습니다.
전체 텍스트 인덱스로 정의된 테이블에서는 병렬 스캔이 지원되지 않습니다.
공간 인덱스로 정의된 테이블에서는 병렬 스캔이 지원되지 않습니다.
17.12.4 Online DDL Memory Management
17.12.6 Simplifying DDL Statements with Online DDL