2010-12-27 3 views
0

열을 varchar (50)로 설정 한 다음 길이 20의 문자열로 업데이트하십시오. 그런 다음 최적화하십시오. 그런 다음 20을 초과하는 문자열 (30)을 사용하여 업데이트하면 어떻게됩니까? VARCHAR 최적화 후 업데이트

(최적화가 ...으로 VARCHAR에 초과 수하물을 제거하도록되어 있기 때문에)

두 번째 질문 : 나는 51 개 문자열이있는 VARCHAR (50)와 UPDATE를하면 어떻게됩니까?

세 번째 질문 : 여기에 설명서가 명확하지 않지만 varchar의 최대 최적 문자열 크기는 무엇입니까? 그것은 256 또는 254 (필요로하는 여분의 2 바이트 때문에) 또는 다른 것입니까? CHAR 달리

"는 VARCHAR 값은 1 바이트 또는 2 바이트 길이 프리픽스 플러스 데이터로서 저장된다. 길이 프리픽스 값에 바이트 수를 나타낸다. 열은 하나 사용 길이가 25535 바이트보다 크지 않으면 길이가 2 바이트가됩니다. 값이 255보다 클 수 있습니다. 바이트입니다. "

감사합니다.

+0

의 길이 문자열 숙박 "나는 51 개 문자열이있는 VARCHAR (50)와 UPDATE를하면 어떻게됩니까?" : 시도해보십시오. 추가 문자를 잘라야합니다. –

+0

약 256 또는 254 (256 불가) http://stackoverflow.com/questions/262238/are-there-disadvantages-to-using-a-generic-varchar255-for-all-text-based-fields –

답변

0
  1. 최적화가 초과 수하물을 제거하지 않는, 그냥 같은 역할을 윈도우 조각 모음 부피가 삭제를 위해 디스크 공간을 청소 - details. 당신이 30 길이 문자열로 업데이트하면, MySQL은, 그것을 무엇으로 저장 아무것도없고, 아무것도 덜

  2. 당신은 잘린 (51) 문자열의 마지막 문자가 다진됩니다/업데이트 할 경우

  3. varchar에 대한 최적의 문자열 크기가 아니므로 응용 프로그램 사용법과 mysql 인덱스 작업 방법에 따라 달라집니다. 최대 varchar(255) 여전히 255

관련 문제