IT TIP

MySQL에서 VARCHAR (20000)이 유효합니까?

itqueen 2020. 12. 4. 21:39
반응형

MySQL에서 VARCHAR (20000)이 유효합니까?


MySQL에서 varchar 필드의 최대 길이에 대한 설명이 필요합니다.

나는 항상 최대 길이가 255라고 생각했습니다 (내가 255 자라고 생각했지만 이것이 내 혼란의 원인이 될 수 있습니다). 우리가 함께 일하고있는 외부 회사에서 설정 한 데이터베이스 테이블을 살펴보면 255 자보다 긴 xml 청크를 보유하는 varchar (20000) 필드 설정을 볼 수 있습니다. 왜 이것이 작동합니까? 20000이 유효한 값입니까?

약간의 인터넷 검색 결과 mysql에서 varchar의 제한이 65,535 바이트이며 varchar (65535) in use 가 표시됩니다. 255 제한이 이것과 어떤 관련이 있습니까?


MySQL 버전을 확인합니다.

http://dev.mysql.com/doc/refman/5.0/en/char.html

VARCHAR 열의 값은 가변 길이 문자열입니다. 길이는 MySQL 5.0.3 이전에는 0에서 255까지, 5.0.3 이상 버전에서는 0에서 65,535까지의 값으로 지정할 수 있습니다. MySQL 5.0.3 이상에서 VARCHAR의 유효 최대 길이는 최대 행 크기 (65,535 바이트, 모든 열에서 공유 됨) 및 사용 된 문자 집합의 영향을받습니다.

어떤 버전의 MySQL이 있습니까?

다음 쿼리를 실행하십시오 ...

select version() as myVersion

버전 5.0.3부터 최대 길이를 255에서 65535로 변경했을 때 유효합니다.

CHAR 항상 최대 255입니다.

http://dev.mysql.com/doc/refman/5.0/en/char.html


너무 큰 입력이 예상되는 경우 대신 TEXT, MEDIUMTEXT 또는 LONGTEXT를 사용하는 것이 좋습니다.


인덱스는 varchar (2000)에서 빌드 할 수 없지만


이 질문 에는 MySQL VARCHAR 최대 크기는 무엇입니까?

MySQL에는 최대 행 크기 제한이 있습니다.

MySQL 테이블의 내부 표현은 최대 행 크기 제한이 65,535 바이트이며 BLOB 및 TEXT 유형은 계산하지 않습니다. BLOB 및 TEXT 열은 내용이 나머지 행과 별도로 저장되기 때문에 행 크기 제한에 9-12 바이트 만 기여합니다. 테이블 열 수 및 행 크기 제한에 대해 자세히 알아보세요 .

단일 열이 차지할 수있는 최대 크기는 MySQL 5.0.3 이전과 이후에 다릅니다.

VARCHAR 열의 값은 가변 길이 문자열입니다. 길이는 MySQL 5.0.3 이전에는 0에서 255까지, 5.0.3 이상 버전에서는 0에서 65,535 까지의 값으로 지정할 수 있습니다 . MySQL 5.0.3 이상에서 VARCHAR의 유효 최대 길이는 최대 행 크기 (65,535 바이트, 모든 열에서 공유 됨) 및 사용 된 문자 집합의 영향을받습니다.

그러나 utf8 또는 utf8mb4와 같은 멀티 바이트 문자 세트를 사용하는 경우 한계가 더 낮습니다.

TEXT행 크기 제한을 극복 하려면 유형을 순서대로 사용하십시오 .

네 가지 TEXT 유형은 TINYTEXT, TEXT, MEDIUMTEXT 및 LONGTEXT입니다. 이들은 네 가지 BLOB 유형에 해당하며 동일한 최대 길이 및 스토리지 요구 사항을 갖습니다.


MySQL 매뉴얼 상태

VARCHAR 열의 값은 가변 길이 문자열입니다. 길이는 MySQL 5.0.3 이전에는 0에서 255까지, 5.0.3 이상 버전에서는 0에서 65,535까지의 값으로 지정할 수 있습니다.

따라서 사용중인 버전에 따라 다릅니다.

참고 URL : https://stackoverflow.com/questions/1303476/is-a-varchar20000-valid-in-mysql

반응형