정의 :
VARCHAR : 길이 범위는 1 ~ 255 자입니다. VARCHAR 값은 BINARY 키워드가 제공되지 않는 한 대소 문자를 구분하지 않는 방식으로 정렬되고 비교됩니다. x + 1 바이트
TINYBLOB, TINYTEXT : 최대 길이가 255 (2 ^ 8-1) 문자 x + 1 바이트 인 BLOB 또는 TEXT 열
이를 바탕으로 다음 표를 작성합니다.
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255),
`lastname` tinytext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
아니면 varchar 또는 tinytext를 만드는 것이 더 좋으며 그 이유는 무엇입니까?
다음의 경우에도 동일합니까?
VARCHAR : 길이 범위는> 255 자입니다. VARCHAR 값은 BINARY 키워드가 제공되지 않는 한 대소 문자를 구분하지 않는 방식으로 정렬되고 비교됩니다. x + 2 바이트
BLOB, TEXT 최대 길이가 65535 (2 ^ 16-1) 문자 x + 2 바이트 인 BLOB 또는 TEXT 열
답변
이 경우 varchar
더 좋습니다.
주 varchar
1 65535 문자에서 할 수있다.
VARCHAR 열의 값은 가변 길이 문자열입니다. 길이는 MySQL 5.0.3 이전에는 0에서 255까지, 5.0.3 이상 버전에서는 0에서 65,535 사이의 값으로 지정할 수 있습니다. MySQL 5.0.3 이상에서 VARCHAR의 유효 최대 길이는 최대 행 크기 (65,535 바이트, 모든 열에서 공유 됨) 및 사용 된 문자 집합의 영향을받습니다. 섹션 E.7.4,“테이블 열 개수 및 행 크기 제한”을 참조하십시오.
Blob은 파일의 별도 섹션에 저장됩니다.
데이터에 포함하려면 추가 파일 읽기가 필요합니다.
이러한 이유로 varchar를 훨씬 빠르게 가져옵니다.
자주 액세스하지 않는 큰 Blob이있는 경우 Blob보다 더 의미가 있습니다.
별도의 파일 (일부)에 Blob 데이터를 저장하면 코어 데이터 파일이 더 작아 지므로 더 빨리 가져올 수 있습니다.