14.11.8 분할 된 InnoDB 테이블에 대한 온라인 DDL
ALTER TABLE
파티션 흘리는를 제외하고 분할 된 InnoDB
테이블에 대한 온라인 DDL 작업은 일반적으로 InnoDB
테이블에 적용되는 것과 같은 규칙을 따릅니다. 온라인 DDL 규칙은 표 14.5 "DDL 작업의 온라인 상태의 요약" 에 설명되어 있습니다.
ALTER TABLE
파티션 흘리는는 일반 분할되지 않은 InnoDB
테이블과 같은 내부의 온라인 DDL API를 통하지 않고 ALGORITHM=DEFAULT
및 LOCK=DEFAULT
와 함께에만 허용됩니다.
ALTER TABLE
문에서 ALTER TABLE 파티션 흘리는를 사용하면 파티션 된 테이블은 ALTER TABLE
COPY
알고리즘을 사용하여 "다시 분할"됩니다. 즉, 새로운 파티션 된 테이블은 새로운 파티셔닝 기법으로 만들어집니다. 새로 만들어진 테이블에 ALTER TABLE
문에 의해 적용된 모든 변경 사항이 포함되어 테이블 데이터를 새 테이블 구조에 복사됩니다.
ALTER TABLE
파티션 흘리는를 사용하여 테이블의 파티셔닝을 변경하지 않는 경우, 또는 ALTER TABLE
문에서 다른 어떠한 파티션 관리를 실행하는 경우 ALTER TABLE
은 각 테이블 파티션에서 INPLACE
알고리즘을 사용합니다. 그러나 INPLACE
ALTER TABLE
조작이 각 파티션에서 실행되는 여러 파티션에서 실행되는 작업을 위해 시스템 자원에 대한 요구가 증가한다는 점에 유의하십시오.
ALTER TABLE
문 파티셔닝 절이 일반 분할되지 않은 InnoDB
테이블과 같은 내부의 온라인 DDL API를 통해 않음에도 불구하고, MySQL은 계속 가능한 경우 데이터 복사 및 잠금 최소화 용과합니다.
RANGE
또는LIST
로 파티션 된 테이블에 대한ADD PARTITION
및DROP PARTITION
은 어떤 기존의 데이터를 복사 할 수 없습니다.TRUNCATE PARTITION
에서는 모든 유형의 파티션 된 테이블에 대한 모든 기존 데이터를 복사 할 수 없습니다.병렬 쿼리는
HASH
또는LIST
로 파티션 된 테이블에 대한ADD PARTITION
및COALESCE PARTITION
중에 허용됩니다. MySQL은 공유 잠금을 보유하는 동안 데이터를 복사합니다.REORGANIZE PARTITION
,REBUILD PARTITION
또는LINEAR HASH
또는LIST
로 파티션 된 테이블에 대한ADD PARTITION
또는COALESCE PARTITION
는 병렬 쿼리가 허용됩니다. 영향을받는 파티션의 데이터는 테이블 레벨의 공유 메타 데이터 (읽기) 잠금을 보유하고있는 사이에 복사됩니다.
InnoDB
의 분할 된 테이블에서 전체 텍스트 검색 (FTS)와 외부 키는 지원되지 않습니다. 자세한 내용은 섹션 12.9.5 "전문 제한" 및 섹션 19.6.2 "스토리지 엔진 관련 파티셔닝 제한" 을 참조하십시오.