Open mojh7 opened 1 year ago
해시 파티션과 사용법과 특성이 거의 같다
해시 파티션은 해시 값을 계산할 때 쓰이는 파티션 키나 표현식을 사용자가 명시하는데
키 파티션에서는 해시 값의 계산도 MySQL 서버가 수행한다
선정된 파티션 키의 값을 MD5()
함수를 이용해 해시 값을 계산하고, 이 값을 MOD 연산해서 데이터를 각 파티션에 분배한다
CREATE TABLE k1 (
id INT NOT NULL,
name VARCHAR(20),
PRIMARY KEY (id)
)
# 괄호의 내용을 비워두면 자동으로 PK의 모든 칼럼이 파티션 키가 되고
# PK의 일부만 명시할 수도 있다
PARTITION BY KEY()
PARTITIONS 2;
CREATE TABLE k1 (
id INT NOT NULL,
name VARCHAR(20),
UNIQUE KEY (id)
)
# 괄호의 내용을 비워두면 자동으로 PK의 모든 칼럼이 파티션 키가 되고
# PK의 일부만 명시할 수도 있다
PARTITION BY KEY()
PARTITIONS 2;
CREATE TABLE dept_emp (
emp_no INT NOT NULL,
dept_no CHAR(4) NOT NULL,
...
PRIMARY KEY (dept_no, emp_no)
)
# 괄호의 내용에 PK나 유니크 키를 구성하는 칼럼 중에서
# 일부만 선택해서 파티션 키 지정 가능
PARTITION BY KEY(dept_no)
PARTITIONS 2;
PARTITION BY KEY
키워드로 키 파티션 정의 가능하고 이 키워드 뒤에 파티션 키 칼럼을 명시한다
세 번째 예제 쿼리와 같이 PK나 유니크 키를 구성하는 칼럼 중 일부만 파티션 키 명시하는 것도 가능
PARTITIONS
키워드로 파티션 개수 지정
NOT NULL
이어야 한다MD5(Message-Digest algorithm 5)는 128비트 암호화 해시 함수
다음 스터디
2023-06-08 pm 09:00 목요일
정리 범위