15.2.3.1 Static (고정 길이) 테이블의 특징
MyISAM
테이블에서는 정적 형식이 기본입니다. 테이블에 가변 길이 컬럼이 포함되지 않는 경우에 사용됩니다 ( VARCHAR
, VARBINARY
, BLOB
또는 TEXT
). 각 행은 고정 바이트로 저장됩니다.
3 개의 MyISAM
스토리지 포맷에서 정적 형식이 가장 간단하고 안전합니다 (가장 손상 어렵다). 또한 이것은 디스크에서 데이터 파일의 행이 쉽게 감지 할 수 있다는 이유에서 온 디스크 포맷 중에서 가장 빠릅니다. 인덱스의 행 수에 따라 행을 검색하려면 행에 유키나가를 걸어 줄의 위치를 계산합니다. 또한 테이블을 검사 할 때 디스크의 읽기 작업마다 일정한 수의 행을 가져올 수 쉽습니다.
MySQL 서버가 고정 포맷의 MyISAM
파일에 쓰는 동안 컴퓨터가 충돌 한 경우 그 안전성이 입증됩니다. 이 경우, myisamchk는 각 행이 어디에서 시작 어디서 끝나는지를 쉽게 판단 할 수 있기 때문에 일반적으로 일부가 기록 된 행을 제외한 모든 행을 다시 사용할 수 있습니다. MyISAM
테이블 인덱스는 데이터 행에 따라 언제든지 재 구축 할 수 있습니다.
고정 길이의 행 형식은 BLOB
또는 TEXT
컬럼이없는 테이블에서만 사용할 수 있습니다. 명시적인 ROW_FORMAT
절이있는 컬럼에서 테이블을 작성하면 에러 나 경고가 발생하지 않습니다. 형식 사양은 무시됩니다.
정적 형식의 테이블에는 다음과 같은 특징이 있습니다.
CHAR
및VARCHAR
컬럼은 특정 컬럼 폭에 공백이 포함됩니다 (그러나 컬럼의 형태는 바뀌지 않습니다).BINARY
및VARBINARY
컬럼에는 컬럼 폭에0x00
바이트가 포함됩니다.매우 빠릅니다.
캐시가 용이합니다.
행이 고정 된 위치에 있기 때문에 충돌 한 후에도 재 구축이 용이합니다.
대량의 행을 삭제하여 디스크 공간을 운영 체제로 되 돌리는 경우를 제외하고 재구성 할 필요는 없습니다. 이렇게에는
OPTIMIZE TABLE
또는 myisamchk -r을 사용합니다.일반적으로 동적 포맷 테이블보다 많은 디스크 공간을 필요로합니다.