Loading...
MySQL 9.5 Reference Manual 9.5의 26.3.4 Maintenance of Partitions의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
여러 가지 테이블 및 파티션 유지 관리 작업은 이러한 목적을 위해 의도된 SQL 문들을 사용하여 파티션된 테이블에서 수행할 수 있습니다.
파티션된 테이블의 테이블 유지 관리는
CHECK TABLE,
OPTIMIZE TABLE,
ANALYZE TABLE,
REPAIR TABLE 문들을 사용하여 수행할 수 있으며,
이들 문은 파티션된 테이블을 지원합니다.
하나 이상의 파티션에 대해 이러한 유형의 작업을 직접 수행하기 위해
ALTER TABLE에 대한 여러 확장을 사용할 수 있으며,
이는 다음 목록에서 설명합니다:
Rebuilding partitions.
파티션을 재빌드합니다. 이는 파티션에 저장된 모든 레코드를
드롭한 다음 다시 삽입하는 것과 동일한 효과를 가집니다.
이는 조각 모음을 목적으로 할 때 유용할 수 있습니다.
예:
1ALTER TABLE t1 REBUILD PARTITION p0, p1;
Optimizing partitions.
파티션에서 많은 수의 행을 삭제했거나
가변 길이 행(예:
VARCHAR,
BLOB,
TEXT 열을 갖는)의
파티션된 테이블에 대해 많은 변경을 수행한 경우,
ALTER TABLE ... OPTIMIZE PARTITION를 사용하여
사용되지 않는 공간을 회수하고 파티션 데이터 파일의 조각을 모을 수 있습니다.
예:
1ALTER TABLE t1 OPTIMIZE PARTITION p0, p1;
주어진 파티션에서 OPTIMIZE PARTITION을 사용하는 것은
해당 파티션에 대해 CHECK PARTITION,
ANALYZE PARTITION, REPAIR PARTITION을 실행하는 것과
동일합니다.
InnoDB를 포함한 일부 MySQL 스토리지 엔진은
파티션 단위의 최적화를 지원하지 않습니다.
이러한 경우
ALTER TABLE ... OPTIMIZE PARTITION는 전체 테이블을
분석 및 재빌드하며, 이에 대한 적절한 경고가 발생합니다.
(Bug #11751825, Bug #42822)
이 문제를 피하려면 ALTER TABLE ... REBUILD PARTITION 및
ALTER TABLE ... ANALYZE PARTITION을 대신 사용하십시오.
Analyzing partitions.
파티션에 대한 키 분포를 읽어 저장합니다.
예:
1ALTER TABLE t1 ANALYZE PARTITION p3;
Repairing partitions.
손상된 파티션을 복구합니다.
예:
1ALTER TABLE t1 REPAIR PARTITION p0,p1;
일반적으로 REPAIR PARTITION은
파티션에 중복 키 에러가 포함되어 있으면 실패합니다.
이 옵션과 함께
ALTER IGNORE TABLE을 사용할 수 있으며,
이 경우 중복 키의 존재로 인해 이동할 수 없는 모든 행이
파티션에서 제거됩니다 (Bug #16900947).
Checking partitions.
파티션은 비파티션 테이블에 대해 CHECK TABLE을
사용하는 것과 거의 같은 방식으로 에러를 확인할 수 있습니다.
예:
1ALTER TABLE trb3 CHECK PARTITION p1;
이 문은
테이블 t1의 파티션 p1 안의 데이터 또는 인덱스가
손상되었는지 여부를 알려 줍니다. 그런 경우에는
ALTER TABLE ... REPAIR PARTITION을 사용하여
파티션을 복구하십시오.
일반적으로 CHECK PARTITION은
파티션에 중복 키 에러가 포함되어 있으면 실패합니다.
이 옵션과 함께
ALTER IGNORE TABLE을 사용할 수 있으며,
이 경우 문은 중복 키 위반이 발견된
파티션의 각 행 내용을 반환합니다.
테이블의 파티셔닝 표현식에 있는 열에 대한 값만 보고됩니다.
(Bug #16900947)
위 목록에 나열된 각 문은
파티션 이름 목록 대신 키워드 ALL도 지원합니다.
ALL을 사용하면 문이 테이블의 모든 파티션에
작용하게 됩니다.
또한
ALTER TABLE ... TRUNCATE PARTITION을 사용하여
파티션을 비울 수 있습니다.
이 문은
TRUNCATE TABLE이
테이블에서 모든 행을 삭제하는 것과 거의 동일한 방식으로,
하나 이상의 파티션에서 모든 행을 삭제하는 데 사용할 수 있습니다.
ALTER TABLE ... TRUNCATE PARTITION ALL은
테이블의 모든 파티션을 비웁니다.
26.3.3 Exchanging Partitions and Subpartitions with Tables
26.3.5 Obtaining Information About Partitions