MySQL의 VARCHAR vs TEXT
나는 두 개의 필드를 가지고 있습니다. 하나는 저장합니다.excerpt
최대 크기가 500자이고, 다른 하나는 a를 저장합니다.description
최대 1만자까지 가능합니다.
어떤 데이터 유형을 사용해야 하는지,TEXT
아니면VARCHAR
? 그 이유는?
MySQL 5.0.3 이후의 VARCHAR는 ~65,000자를 사용할 수 있습니다.그러나 이것은 제가 왜 한 종류와 다른 종류를 사용해야 하는지를 말해주지 않습니다.
저는 제가 사용해야 한다고 추론하고 있습니다.VARCHAR
내가 크기 제한을 지정할 수 있기 때문에 발췌를 위해, 그리고.TEXT
를 위해description
크기가 클수록 필드입니다.
따라VARCHAR
A와 같은 방식으로 저장됩니다.TEXT
/BLOB
야전에 나서다InnoDB
트랜잭션 처리, 참조 무결성 및 크래시 복구에 사용하는 것으로 알고 있습니다. (검색하려면 다른 Disk 읽기가 필요할 수 있음).
스토리지 전망 BLOB부터 TEXT 및 Long VARCHAR는 Innodb에서 동일하게 처리됩니다.이것이 Innodb 매뉴얼이 BLOB가 아닌 "긴 열"이라고 부르는 이유입니다.
이 열을 색인할 필요가 없는 경우(이 경우)VARCHAR
훨씬 빠름)을 사용할 이유가 없습니다.VARCHAR
위에TEXT
긴 필드의 경우 - 엔진 고유의 최적화가 있습니다.MySQL
길이에 따라 데이터 검색을 조정하려면 올바른 열 유형을 사용해야 합니다.
사용하는 경우MyISAM
그 주제에 대한 심도 있는 토론이 여기에 있습니다.
사이의 한가지 차이점VARCHAR
그리고.TEXT
당신이 A를 선언할 수 있다는 것입니다.DEFAULT
a에 대한 조항VARCHAR
열, 그러나 a에 대한 것은 아닙니다.TEXT
기둥.
@InnoDB에서 두가지를 모두 저장하는것은 Andy가 맞습니다.VARCHAR
그리고.TEXT
내부적으로도 마찬가지로
FULLTEXT
인덱스는 두 가지 모두에서 지원됩니다.VARCHAR
그리고.TEXT
. 5.6 이전에는 MyISAM을 사용하여 해당 유형의 인덱스를 가져와야 합니다.MySQL 5.6에서는 최종적으로 다음을 지원합니다.FULLTEXT
InnoDB에서.신중하게 테스트를 해보셔야겠지만, MyISAM에서 구현한 것과는 다른 결과를 반환하는 것 같기 때문입니다.
그러나 Spinx Search는 MySQL의 구현보다 더 빠르고 풍부한 기능을 제공합니다.Full-Text Search Throwdown(전체 텍스트 검색 드롭다운)에서 내 개요를 봅니다.
@모하마드가 물었습니다.
언제.
VARCHAR
심사숙고하게 되다LONG VARCHAR
? 문자 임계값이 있습니까?
최대 255바이트의 길이를 선언하면 1바이트를 사용하여 주어진 문자열의 길이를 인코딩할 수 있습니다.255바이트 이상의 열 최대 길이를 선언하면 2바이트를 사용하여 길이를 인코딩합니다.
열을 다음과 같이 선언할 수 있습니다.LONG VARCHAR
, 하지만 이건 정말 MEDIATEXT에 대한 별칭일 뿐입니다.
mysql> create table test ( l long varchar);
mysql> show create table test\G
CREATE TABLE `test` (
`l` mediumtext
) ENGINE=InnoDB DEFAULT CHARSET=latin1
내용이 varchar 열에 맞는 경우 varchar를 사용합니다.
Varchar 데이터는 각 행에 저장됩니다.텍스트 데이터는 테이블 외부의 블랍으로 저장됩니다.
이 테스트에 의하면, 바르샤르는 텍스트보다 약 3배 빠릅니다.
언급URL : https://stackoverflow.com/questions/6404628/varchar-vs-text-in-mysql
'programing' 카테고리의 다른 글
스파크 데이터 프레임에서 전체 열 내용을 표시하는 방법은 무엇입니까? (0) | 2023.10.20 |
---|---|
사용자 지정 http 헤더를 Spring RestTemplate 요청에 추가 / extend RestTemplate (0) | 2023.10.20 |
다른 프로그램을 실행하기 위해 C 프로그램을 어떻게 작성합니까? (0) | 2023.10.20 |
템플릿이 존재하지 않음 - Django 오류 (0) | 2023.10.20 |
커서 잡기(드래그 & 드롭)를 위한 CSS (0) | 2023.10.20 |