작성
·
24
0
안녕하세요. 2강을 수강하면서 궁금한 점이 있어 질문 글 남깁니다.
VARCHAR(30) vs VARCHAR(255) 둘 중에서 데이터 타입을 선택할 때 실제 사용하는 길이만큼만 명시해 주는 게 메모리 사용 효율을 높일 수 있다고 말씀해주셨는데요.
VARCHAR(30)와 VARCHAR(255) 모두 저장되는 데이터의 길이 정보를 1 바이트(0~255 표현 가능)로 저장하는 것이 맞는걸까요?
강의 자료에 VARCHAR(30) vs VARCHAR(255) 차이를 설명할 때 '디스크 공간 효율 차이도 미미하게 존재(1바이트 vs 2바이트)'라고 적혀 있어 VARCHAR(255)에서 저장되는 데이터 길이 정보에 2바이트의 공간을 할당한다는 의미로 이해되어서요.
좋은 강의 감사합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
VARCHAR의 데이터 길이 저장 방식에 대해 궁금하신 부분이 있으시군요. 직접적인 차이를 설명하자면, VARCHAR 타입은 실제 저장되는 데이터의 길이를 저장하는 데에 사용되는 공간이 다를 수 있습니다.
MySQL에서는 VARCHAR 타입의 길이 정보는 일반적으로 1바이트 또는 2바이트를 사용해서 저장됩니다. 1바이트는 255까지의 길이를 저장할 수 있기 때문에, VARCHAR(255)까지는 1바이트를 사용하여 길이 정보를 저장할 수 있습니다. 그러나 VARCHAR(256) 이상의 경우에는 2바이트를 사용하여야 길이 정보를 저장할 수 있게 됩니다. 따라서, VARCHAR(255)까지는 1바이트의 길이 정보를 사용하고, 이 이상의 경우는 2바이트를 사용하게 됩니다.
이는 MySQL의 최적화 방식 중 하나로, 데이터베이스가 최대한 효율적으로 데이터를 저장하도록 하기 위한 것입니다.
질문 주신 내용에서 MySQL의 동작 원리에 대한 이해를 돕기 위해 추가 자료를 참고하실 수 있습니다:
기타 궁금한 부분에 대해서는 언제든지 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.