2012-07-19 5 views
0

MySQL의 문서에 따르면, VARCHAR 그 열에있는 모든 값의 길이는 0-255이다 제공된 문자열의 길이를 나타 내기 위해 1 바이트를 사용하고, 그렇지 않으면 2 바이트 것 사용하십시오. 모든 255 이하이다 열에서 많은 양의 데이터가있는 경우 어떻게됩니까MySQL의 VARCHAR 사이즈 저장 - 한 바이트 두 바이트 변환

는, 및 항목 후, 길이 256의 단일 항목이 입력됩니다. 리 포맷 작업이이 열의 다른 문자열을 업데이트하여 1 대신 2 바이트를 사용합니까? 무효/무시 된 데이터 삽입을 제외하고이 작업을 선점하는 방법이 있습니까? myField VARCHAR(1000) not null always-use-two-bytes,과 같은 것 (분명히 그것보다 깨끗합니다 ...하지만 당신은 아이디어를 얻습니다). 워드 프로세서

+0

어떤 이유로 당신이 걱정? 256+ 바이트를 삽입하지 않으려면 대신에 필드를 varchar (255)로 지정하십시오. –

+0

나는 256+ 이상을 삽입하는 것을 원하지 않는다. 필자가 원하지 않는 것은 테이블 수명이 다가올 때 테이블 전체 작업을 수행하고 해당 변환을 처리하는 방법을 이해하는 것입니다. 나는 전형적으로, 뭔가가 CAN보다 255를 처리 할 수 ​​있다면, 아마도 그것의 수명이 다할 것이라는 생각을 이해한다. 내가 상상하는 것은 일반적으로 100을두고 정적 프로세스에 의해 채워 테이블,하지만 테이블은 늦은 응용 프로그램의 수명, 프로세스가 거기에 더 많은 데이터를 넣어하기로 결정 아마 400을 지원하며, 지금 우리는 큰 크기 조정이있다. – corsiKa

+0

Gotcha. 나는 mysql이 모든 값이 2byte 길이 이하로 떨어지면 필드 크기를 줄이지 않을 것이라고 생각한다. 따라서 초기 값을 큰 값으로 삽입하고 항상 실제 값으로 업데이트하여 테이블을 '프라임'할 수있다. –

답변

1

실제 인용구는 다음 값이 더 이상 255 바이트 이하, 두 개의 길이 바이트를 필요로하는 경우 값은 255 바이트가 필요할 수 있다면

열은 하나 개의 길이 바이트를 사용한다.

내게있어서 varchar (256+)를 사용하면 처음부터 2 바이트를 사용하게됩니다.

관련 문제