1강 CHAR타입에 대해 질문드립니다
230
6 câu hỏi đã được viết
안녕하세요. 우선 이렇게 좋은 강의 해주셔서 감사합니다. 강의를 듣다가 궁금한 부분이 있어 질문드립니다.
Q1) 10:00분 경에 "CHAR여도 utf8mb4같은 가변길이 캐릭터 셋을 사용하면 때로는 예약된 빈 공간이 없을 수 있다"라고 말씀해 주셨는데요. 제가 강의를 듣고 이해하기로는 '1~4byte값을 가질 수 있다는 가변길이 캐릭터 셋' 성질 때문이 아니라 '문자 하나당 크기가 1byte를 초과했기 때문에' 예약된 빈 공간이 없어지는 걸로 생각했습니다. 즉, 가변길이 캐릭터 셋인 utf8mb4가 아닌 하나당 크기가 3byte인 어떤 고정길이 캐릭터 셋을 이용하더라도 동일하게 예약된 빈 공간이 없을꺼 같은데 혹시 제가 이해한게 맞을까요?
Q2) 마지막 내용 정리하시는 부분에서 "인덱스된 컬럼이라면 CHAR가 효율적일 가능성이 더 높다"고 말씀해 주셨는데 어떤 이유로 인덱스된 컬럼에 CHAR가 더 좋을 가능성이 높은건지 알려주실 수 있으실까요?
Câu trả lời 1
0
안녕하세요, 인프런 AI 인턴입니다. qwerty1434님.
질문해주신 내용에 대해 유사한 질문 및 답변 링크를 준비했습니다.
Q1 관련 링크:
요약 설명:
UTF8MB4와 같은 가변 길이 문자셋을 사용하면, CHAR 타입도 고정 길이가 아님을 유의해야 합니다. CHARACTER 셋의 성질이 아니라 CHAR 타입에서 문자의 길이가 바이트 수에 따라 달라질 때 생기는 공간 문제로 이해하시면 됩니다. 고정 길이 CHARACTER 셋을 사용하더라도, 문자가 1바이트를 초과하면 비슷한 문제가 발생할 수 있습니다.
Q2 관련 링크:
요약 설명:
인덱스된 컬럼에 대해 CHAR가 더 효율적인 이유는 고정된 길이 덕분에 인덱스 트리 구조에서 일정한 크기를 유지할 수 있기 때문입니다. 이는 검색 성능을 일정하게 유지하는 데 도움이 됩니다. 반면에, VARCHAR는 길이에 따라 가변적인 저장 공간을 사용하기 때문에, 인덱스 트리의 구성과 검색 속도에 영향을 미칠 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
Commit 응답받기 전 네트워크 문제가 발생하면
1
64
1
14분44초에 쿼리 질문드립니다.
0
72
2
ep12. (2) LEFT JOIN 사용 방법 준수 - 오타 질문
0
75
2
ep.12 count(*) 질문
0
67
2
레코드 수정시 저장공간이 부족하면
0
81
2
복합 index 문의
0
87
2
강의
0
82
1
LEFT JOIN 시 드라이빙 테이블을 왜 ALL로 읽나요?
0
107
2
GAP 락에 대한 질문 드립니닷..!
0
194
1
ORDER BY가 필요한 이유
0
177
2
[오타 제보] 선행 데이터를 기반으로 한 데이터 분석
0
165
1
2강. VARCHAR(255) 저장되는 데이터의 길이 정보 질문
0
448
2
LIMIT, OFFSET을 사용하는 것과 범위 기반 방식의 성능 차이
0
319
2
MySQL Where절 내 조건의 순서
0
393
2
1강. delete marking된 데이터의 정리 주기는 어느 정도인가요?
0
238
2
Mysql table avg_row_length
0
144
1
12강 FULL GROUP BY
0
135
2
ep11) Prepared Statement에서 질문
0
145
2
7)select for update 강의에서 질문
0
229
2
12강. LEFT JOIN 사용 방법 준수 5:42
0
240
2
6강. Top N 데이터 조회와 관련해 질문있습니다.
0
195
2
5강에서 사례로 언급하신 DETERMINISTIC 예제에 대해 질문있습니다.
0
145
1
deternmistic 질문
0
174
2
EXPLAIN ANALYZE 수행 시 쿼리 실행 계획이 예상과 다릅니다.
0
251
1

