15.2.3.3 압축 테이블의 특징
압축 스토리지 포맷은 myisampack 도구에서 생성되는 읽기 전용 포맷입니다. 압축 테이블은 myisamchk를 사용하여 압축 할 수 있습니다.
압축 테이블에는 다음과 같은 특징이 있습니다.
압축 테이블에 필요한 디스크 공간은 무시할 수 있습니다. 이로 인해 디스크 사용량은 최소화되기 때문에 느린 디스크를 사용하는 경우에 유용합니다 (CD-ROM 등).
각 라인은 개별적으로 압축되기 때문에 액세스의 오버 헤드는 무시할 수 있습니다. 행 헤더에 필요한 바이트 수는 테이블의 가장 큰 행에 따라 다르지만 1 - 3 바이트입니다. 각 컬럼은 별도로 압축됩니다. 컬럼마다 다른 Huffman 트리가있는 것이 일반적입니다. 압축 유형 중 일부는 다음과 같습니다.
서 픽스 공간 압축.
프리픽스 공간 압축.
값이 0 숫자는 1 비트로 저장됩니다.
값의 범위가 작은 정수 컬럼은 가능한 한 작은 형태로 저장됩니다. 예를 들어,
BIGINT
컬럼 (8 바이트)의 모든 값이-128
에서127
의 범위 내에있는 경우는이 열을TINYINT
컬럼 (1 바이트)로 저장할 수 있습니다.열 수 값이 적은 경우는 데이터의 형태를
ENUM
으로 변환합니다.컬럼 위의 압축 형식을 함께 사용해도 괜찮습니다.
고정 길이 또는 동적 길이의 줄을 사용할 수 있습니다.
압축 테이블은 읽기 전용이므로 테이블의 행을 갱신하거나 행을 추가하거나 수 없지만 DDL (데이터 정의 언어) 작업은 유효합니다. 예를 들어, DROP
을 사용하여 테이블을 삭제해도 TRUNCATE TABLE
을 사용하여 테이블을 비우고도 괜찮습니다.