일부 열이 varchar라는 사실을 고려하여 디스크에서 특정 행 수가 차지하는 바이트 수를 측정 할 수있는 방법이 있는지 궁금합니다.MySQL의 innoDB 행 세트에서 가져온 바이트
많은 감사,
블라드
일부 열이 varchar라는 사실을 고려하여 디스크에서 특정 행 수가 차지하는 바이트 수를 측정 할 수있는 방법이 있는지 궁금합니다.MySQL의 innoDB 행 세트에서 가져온 바이트
많은 감사,
블라드
디스크의 행이 차지하는 바이트 수를 측정하기 위해, 당신은 많은 디스크 공간이 각 데이터 유형에 필요한 방법을 알고 있어야합니다.
문서 :가
Data Type Storage Requirements
The CHAR and VARCHAR Types
예 : 표 2 개 필드 (a BIGINT 필드와 VARCHAR (400) 필드) 이루어진다
. BIGINT 필드는 항상 8 바이트를 사용합니다. VARCHAR 필드는 실제로 저장된 2 바이트 + 문자 수를 사용합니다.
그래서, 하나 개의 레코드 가게 300 자하는 경우,이 기록에 의해 사용 된 바이트의 갯수가 될 것이다 : 8 + 2 + 300 = 310 바이트
, VARCHAR 값은 1로서 저장된다 바이트 또는 2 바이트 길이 프리픽스와 데이터. 길이 접두어는 값에 바이트의 수를 나타냅니다. 값에 255 바이트가 필요하지 않으면 열이 하나의 길이 바이트를 사용합니다. 값이 255 바이트보다 커야하는 경우 길이가 2 바이트입니다.
The physical structure of records in InnoDB 및 기타 InnoDB 시리즈를 읽는 것이 유용 할 수 있습니다. 테이블 스키마 (SHOW CREATE TABLE
)를 제공 한 경우이를 통해 사례를 작성해 드리겠습니다. 불행히도 실제로 MySQL에 내장 된 물리적 행 크기를 측정 할 수있는 방법은 없습니다.