RealMySQL 10장 파티션 정리 2
종류에 관계없이 테이블에 유니크 인덱스(프라이머리 키 포함)가 있으면 파티션 키는 모든 유니크 인덱스의 일부 또는 모든 칼럼을 포함해야 한다.
파티션을 생성할 수 없는 케이스
유니크 키에 대해 값이 주어지면 해당 레코드가 어느 파티션에 저장돼 있는지 계산할 수 있어야 한다.
파티션 생성 가능 케이스
파티션 키를 선택해야 할때는
- 테이블에서 중복을 허용하지 않는, 프라이커리 키, 유니크 인덱스만 선별
- 프라이커리 키와 유니크 인덱스에 공통적으로 포함돼 있는 컬럼만 수집
- 2번에서 수집한 컬럼 중에서 일부 또는 전체를 사용할 표현식은 파티션 표현식으로 사용할 수 있다.
open_files_limit 파라미터
MySQL 에서는 일반적으로 테이블을 파일 단위로 관리하기 때문에 MySQL 서버에서 동시에 오픈된 파일의 개수가 상당히 많아질 수 있다. 파티션되지 않은 일반 테이블은 테이블 1개당 오픈된 파일의 개수가 2~3개 수준이지만 파티션 테이블에서는 (파티션의 개수 * 2~3) 개가 된다. 때문에 파티션을 많이 사용하는 경우에는 open_file_limit 시스템 변수를적절히 높은 값으로 설정해 줄 필요가 있다.