2009-08-20 4 views

답변

18

일반적으로 아니요. text 열은 실제로 열에서 멀리 떨어져 저장되므로 행 자체에서 공간을 차지하지 않습니다. 대신 행은 text 열 (이 공백을 차지하지만 한 행에 4 바이트 (시스템에 따라 다름) 인 행을 가리키는 포인터를 유지하지만 text 열 자체는 채울 때까지 비어있는 상태로 유지됩니다.

이제 varchar 열은 삽입시 최대 값을위한 공간을 할당하지만 내용에 필요한 공간 만 차지합니다. 그러나 char 열은 항상 지정된 공간을 사용합니다. 각 열의 내용은 '와플'이라는 문구로 표시됩니다.

varchar(15): 'waffles' 
char(15): 'waffles  ' 
text:  'waffles' 

이 정보가 도움이되기를 바랍니다.

+1

모든 유형의 텍스트, 즉 MediumText, LongText 등에서이 사실이 유효합니까? 나는 지금 inno-db 엔진을 사용하고있다. 또한 어떤 종류의 압축을하는지 확인하고 싶습니다. 텍스트 필드에 10 바이트 만 넣으면 일부 압축이 수행되거나 전체 64KB를 얻을 수 있습니까? – user2098324

관련 문제