테스트 사이트 - 개발 중인 베타 버전입니다

mysql DB 데이터 타입 varchar 관해 궁굼한점 채택완료

타버린나무 1년 전 조회 23,689

검색으론 좀 모르겠어서 여쭤봅니다.

 

varchar 타입은 가변적으로 데이터 양에 맞게 동적으로 할당된다는데요

 

데이터 값이

a

ab

abc

abcd

라고 할경우

 

1. varchar(10) 과 varchar(255)의 차이점이 있나요?

2. a 레코드에는 1바이트  ab 레코드는 2바이트 ... 등 저장된 데이터 양에 맞게 <레코드 마다 각각> 용량이 할당 되는건지

3. 아니면 abcd 값이 들어오면 해당 필드 전체가 4바이트 char(4)인것 처럼 바뀌는건지..

4. 만약 1항에서 차이가 없다면 mb_id 필드는 왜 varchar(255)라고 안하고 varchar(20) 이라고 정의 하는지

 

ai 한테 물어보니 동적 할당이라면서 varchar(255)는 너무 큰 공간을 할당받아서 공간낭비가 발생할수 있다는 모순된 얘기를 하네요

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

R
1년 전

필요한 길이만큼 할당해야 합니다.. 누적 데이터량에서 차이가 발생해요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

세크티
1년 전

데이터길이 차이입니다. 2,3번은 정확히 모르겠지만 4번은 mb_id(회원아이디) 최대 길이가 정해져있어서 20으로 해놨을겁니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인