728x90
반응형
SHOW COLLATION이란?
MySQL의 SHOW COLLATION 문은 데이터베이스에서 사용 가능한 콜레이션(collaion, 문자 정렬 규칙)의 목록을 조회하는 데 사용됩니다. 콜레이션은 문자열의 비교 및 정렬 방식에 영향을 주며, 같은 문자 집합 내에서도 다양한 정렬 규칙을 사용할 수 있습니다.
예를 들어, utf8mb4 문자 집합에는 대소문자 구분 여부, 악센트 구분 여부에 따라 수십 개의 콜레이션이 존재합니다.
기본 사용법 및 필터링 옵션
기본 문법은 다음과 같습니다:
SHOW COLLATION [LIKE 'pattern' | WHERE 조건];
- LIKE 또는 WHERE 절을 통해 특정 문자 집합이나 콜레이션 이름으로 필터링 가능합니다.
예제:
SHOW COLLATION;
SHOW COLLATION LIKE 'utf8mb4%';
SHOW COLLATION WHERE Charset = 'utf8mb4';
출력 컬럼 설명:
- Collation: 콜레이션 이름
- Charset: 관련 문자 집합
- Id: 내부 식별자
- Default: 기본 콜레이션 여부 (Yes/No)
- Compiled: 서버에 포함 여부
- Sortlen: 정렬에 필요한 키 길이
콜레이션의 실질적 영향
콜레이션은 문자열 정렬, 검색(ORDER BY, LIKE, = 연산 등) 시의 결과에 직접적인 영향을 줍니다.
예를 들어:
- utf8mb4_general_ci: 대소문자 구분 안 함 (ci: case-insensitive), 빠른 성능
- utf8mb4_bin: 이진 비교, 대소문자 및 악센트 구분함, 가장 정밀하지만 느릴 수 있음
- utf8mb4_0900_ai_ci (MySQL 8.0): 유니코드 9.0 기반 정렬, 악센트 구분 안 함 (ai: accent-insensitive), 표준화된 비교 제공
MySQL 버전별 변화 및 주의사항
- MySQL 8.0부터 utf8mb4 문자 집합에 대해 새로운 콜레이션(utf8mb4_0900_ai_ci 등)이 기본으로 설정되며, 더 나은 언어 정렬 규칙과 성능 개선이 이루어졌습니다.
- MySQL 5.x 버전에서는 utf8mb4_general_ci나 utf8mb4_unicode_ci가 기본으로 사용되었습니다.
버전 간 호환성을 고려할 때 콜레이션 변경이 성능과 결과에 영향을 줄 수 있으므로 주의가 필요합니다.
결론 및 실무 팁
SHOW COLLATION은 문자 비교/정렬의 미묘한 차이를 확인하고, 애플리케이션에 가장 적합한 설정을 선택하는 데 꼭 필요한 도구입니다.
실무 팁:
- 다국어 지원이 필요한 경우 utf8mb4_0900_ai_ci와 같은 최신 콜레이션 사용을 고려하세요.
- 정렬 정확도가 중요한 경우 bin 콜레이션도 검토해 보세요.
- 데이터 정렬이 느려질 수 있으므로 Sortlen이 짧은 콜레이션을 선호하는 것이 성능에 유리할 수 있습니다.
공식 문서 링크:
MySQL SHOW COLLATION - 공식 문서
728x90
반응형
'SQL > MYSQL' 카테고리의 다른 글
[MySQL] SHOW CREATE FUNCTION 문 설명: 함수 정의 SQL 확인하기 (0) | 2025.06.29 |
---|---|
[MySQL] SHOW CREATE EVENT 문 설명: 이벤트 정의 SQL 보기 (0) | 2025.06.29 |
[MySQL] SHOW CREATE DATABASE 문 설명: 데이터베이스 생성 SQL 확인하기 (0) | 2025.06.28 |
[MySQL] SHOW COLUMNS 문 완전 정리: 테이블 구조 빠르게 확인하기 (0) | 2025.06.28 |
[MySQL] SHOW CHARACTER SET 문 설명: 사용 가능한 문자 집합 확인하기 (0) | 2025.06.27 |
[MySQL] SHOW BINLOG EVENTS 문 완벽 가이드: 바이너리 로그 이벤트 분석하기 (1) | 2025.06.27 |
[MySQL] SHOW BINARY LOGS로 바이너리 로그 목록 확인하기 (1) | 2025.06.26 |
[MySQL] SHOW BINARY LOG STATUS로 바이너리 로그 상태 확인하기 (0) | 2025.06.26 |