2014-10-07 4 views
-1

실례합니다, 길이가 10 인 경우 문자열 길이가 입니다. 그런 다음 db에 유형을 varchar로 저장하고 길이도 10입니다. 다음, char 형식에도 저장합니다. 길이는 10입니다. 크기가 더 큽니까? Varchar (10) 또는 char (10)Varchar와 같은 크기의 char이 더 큽니까?

그리고이 설명서는 어디서 구할 수 있습니까? mysql에서 데이터 유형과 크기에 관해서?

는 MySQL은 길이 접두사를 저장하기 때문에 당신이

+4

[mysql column sizes'에 대한 첫 번째 검색 결과] (http://dev.mysql.com/doc/refman/5.6/en/storage-requirements.html). 진심으로, 너도 해봤 니? – tadman

답변

0

대 Varchar은 더 많은 저장 공간을 차지 감사드립니다. Char는 필요하지 않기 때문에하지 않습니다. (즉, 데이터베이스가 실제 문자열의 길이를 알 수 있도록 고정 길이 문자열입니다.) 실제 문자열이 열 길이보다 짧은 경우 Char는 끝에 공백이 채워집니다.

자세한 내용은 http://dev.mysql.com/doc/refman/5.0/en/char.html을 참조하십시오.

+2

다릅니다. 길이 접 두부는 한정된 크기이며 var_char가 용량을 채우지 않을 때 더 적은 공간을 사용할 수 있습니다. 'abc'를 포함하고있는 char (30)은'abc'를 포함하는 var_char (30)보다 클 것입니다 –

+1

@ FélixGagnon-Grenier, 최대 용량으로 그리고/또는 가변 길이를 사용하여 열을 채우지 않으면 맞습니다 문자열. 내 비교는 char 또는 varchar 열에서 고정 길이 값을 사용하는 것을 의미합니다. –

2

MySQL에서 CHAR 데이터 형식은 M x w 바이트의 저장소가 필요하며 여기서 M은 필드 크기이고 w는 문자 집합의 최대 길이 문자 크기 (바이트)입니다.

VARCHAR 유형은 바이트의 문자열 길이 인 L이 255 바이트 이상인 경우 (또는 L + 2) 바이트가 필요합니다.

필드의 모든 데이터가 동일한 길이 인 경우 CHAR 데이터 형식은 공간을 덜 차지하지만 데이터 길이가 다를 경우 VARCHAR을 선택하는 것이 좋습니다. 예를 들어

: 필드 데이터의 2 개 행을 가정 - 데이터 유형 CHAR(10)이다 XXXXXXXXXX, XXX

경우 총 크기는 10 × 1 × 2 20 바이트 일 것이다. 데이터 유형이 VARCHAR(10) 인 경우 총 크기는 (10 + 1) + (3 + 1) 또는 15 바이트가됩니다.

관련 문제