Loading...
MySQL 9.5 Reference Manual 9.5의 18.2.2 Space Needed for Keys의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MyISAM 테이블은 B-tree 인덱스를 사용합니다. 인덱스 파일의 크기는 모든 키에 대해 합산한 (key_length+4)/0.67로 대략 계산할 수 있습니다. 이는 모든 키가 정렬된 순서로 삽입되고 테이블에 압축된 키가 전혀 없을 때의 최악의 경우를 기준으로 한 것입니다.
문자열 인덱스는 공간 압축이 적용됩니다. 첫 번째 인덱스 파트가 문자열이면 프리픽스 압축도 적용됩니다. 공간 압축은 문자열 컬럼에 많은 후행 공백이 있거나, 항상 전체 길이가 사용되지 않는 VARCHAR 컬럼인 경우, 인덱스 파일을 최악의 경우에 비해 더 작게 만들어 줍니다. 프리픽스 압축은 문자열로 시작하는 키에 사용됩니다. 동일한 프리픽스를 가진 문자열이 많을 때 프리픽스 압축이 도움이 됩니다.
MyISAM 테이블에서는 테이블을 생성할 때 PACK_KEYS=1 테이블 옵션을 지정하여 숫자도 프리픽스 압축을 할 수 있습니다. 숫자는 상위 바이트가 먼저 저장되므로, 동일한 프리픽스를 가진 정수 키가 많을 때 이것이 도움이 됩니다.
18.2.1 MyISAM Startup Options
18.2.3 MyISAM Table Storage Formats