13장 파티션
2024. 7. 1. 19:35ㆍBOOKS/Real MySQL 8.0
문제 1. 파티션을 사용하는 이유
- 단일 INSERT와 단일 또는 범위 SELECT의 빠른 처리
- 데이터의 물리적인 저장소를 분리
- 이력 데이터의 효율적인 관리
문제 2. 다음과 같이 생성된 테이블에 입사 일자가 2001년부터 2005년 이하인 레코드를 가지는 파티션을 추가하는 SQL을 작성해주세요.
CREATE TABLE employees (
id INT NOT NULL,
first_name VARCHAR(30),
last_name VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01’,
...
) PARTITION BY RANGE( YEAR(hired) ) (
PARTITION p0 VALUES LESS THAN (1991),
PARTITION p1 VALUES LESS THAN (1996),
PARTITION p2 VALUES LESS THAN (2001),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
ALTER TABLE employees ALGORITHM=INPLACE, LOCK=SHARED,
REORGANIZE PARTITION p3 INTO (
PARTITION p3 VALUES LESS THAN (2006),
PARTITION p4 VALUES LESS THAN MAXVALUE
);
문제 3. 레인지 파티션과 리스트 파티션의 차이점
레인지 파티션은 파티션 키 값의 범위로 파티션을 구성할 수 있지만 리스트 파티션은 파티션 키 값 하나하나를 리스트로 나열해야 한다.
또 리스트 파티션은 레인지 파티션과 같이 MAXVALUE 파티션을 정의할 수 없다.
문제 4. 파티션을 조장할 필요가 거의 없다면 리니어 해시/키 파티션보다는 해시/키 파티션을 사용하는 것이 좋은데 그 이유는 무엇인가요?
리니어 파티션은 Power-of-two 알고리즘을 사용하여 파티션을 추가하거나 통합할 때 작업의 범위를 최소화하는 대신 각 파티션이 가지는 레코드의 건수는 일반 해시/키 파티션보다 덜 균등해질 수 있기 때문에 파티션을 조정할 필요가 거의 없다면 일반 해시/키 파티션이 리니어 파티션보다 좋습니다.
'BOOKS > Real MySQL 8.0' 카테고리의 다른 글
16장 복제 (0) | 2024.07.01 |
---|---|
14장 스토어드 프로그램 (0) | 2024.07.01 |
10장 실행계획 (0) | 2024.07.01 |
9장 옵티마이저와 힌트 (0) | 2024.07.01 |
8장 인덱스 (0) | 2024.07.01 |