2014-01-16 2 views
1

MySQL에서 VARCHAR(1024)VARCHAR(512)의 차이점은 무엇입니까? 내 항목이 512자를 초과하지 않을 경우 VARCHAR(1024)을 사용하면 무엇이 손실됩니까?MySQL : VARCHAR (1024) varchar (512)

+0

MySQL에는 'VARCHAR'유형이 없습니다. 'VARCHAR (N)'타입 만 존재합니다. 'MySQL 5.0.3'의 경우'N <255'이고 이후 버전의 경우'N <65535' –

답변

5

어디에서 가져 왔는지 모르지만 길이를 지정하지 않고 varchar로 표를 만들 수는 없습니다. 구문 오류가 발생합니다. 그래서 귀하의 질문은 쓸모가 없습니다.

업데이트 :

아무 것도 없음. Varchar는 가변 길이의 데이터 유형을 의미하는 이름이므로 테이블을 만들 때 지정한 최대 길이 이상이어야합니다. 즉, 각 행의 varchar 열에서 행의 문자열이 실제로 얼마나 오래 저장되는지 추가 바이트가 사용됩니다. varchar (1024)와 varchar (512)의 차이점은 1024 또는 512 바이트를 초과하여 삽입하려고하면 데이터가 잘리는 것입니다. 주 : 문자가 아닌 바이트. 각 문자가 사용하는 바이트 수는 사용중인 문자 집합에 따라 다릅니다.

+0

죄송합니다. 질문이 업데이트되었습니다. –

+0

@FireFoxNaruto 답변도 업데이트되었습니다. – fancyPants

2

실제로 차이가 있습니다. 또한 큰 데이터를 조작하면 성능에 큰 영향을 줄 수 있습니다. 임시 테이블이 사용되면 디스크의 레코드는 가변 길이 대신 표시된 전체 길이를 취합니다. 이 값이 높으면 요청이 더욱 느려집니다. 임시 테이블은 여러 가지 이유로 인해 발생할 수 있습니다 (예 : 메모리 가득 참 또는 그룹 별/정렬 기준).