가장 기본적이지만 생각해본적이 없었던 주제에 관해 정리해보려고 합니다.

보통 날짜나 시간은 문자열보다 Date 컬럼으로 적재하라고 지향하는데요.
출력되는 길이는 날짜/시간 형태가 더 긴데 어째서 문자열이 용량측면 비효율이 발생할까요?
용량 측면에서 날짜/시간 타입이 문자열 타입보다 효율적인 이유를 5가지로 정리해보겠습니다.
- 내부 저장 형식
- DATE 타입은 대부분의 데이터베이스 시스템에서 내부적으로 숫자로 저장됩니다.
- 이 숫자는 일정한 형식으로 날짜와 시간 정보를 나타냅니다.
- 이는 문자열과는 달리 고정된 크기의 데이터를 저장하므로 저장 공간을 효율적으로 사용할 수 있습니다.
- 인덱싱 및 검색 성능
- DATE 타입의 날짜 정보는 쿼리의 인덱싱과 검색 성능을 향상시킵니다.
- 숫자 형태로 저장된 날짜는 비교 및 정렬에 매우 효율적이며, 범위 쿼리와 같은 작업에서 문자열보다 빠른 검색이 가능합니다.
- 데이터 무결성
- DATE 타입을 사용하면 데이터베이스에서 날짜 값의 무결성을 보다 쉽게 관리할 수 있습니다.
- 데이터베이스는 DATE 형식의 값을 날짜로 인식하고 유효한 날짜인지 확인할 수 있습니다.
- 이는 잘못된 형식이나 부적절한 날짜 값이 저장되는 것을 방지합니다.
- 날짜 연산 및 함수
- DATE 타입을 사용하면 날짜 및 시간 관련 연산 및 함수를 사용하기가 훨씬 간편합니다.
- 데이터베이스 시스템은 DATE 타입에 대해 내장된 함수를 제공하므로 날짜와 시간 데이터를 쉽게 조작할 수 있습니다.
- 국제화 및 형식화
- DATE 타입은 날짜 형식을 관리하기 쉽게 해주는 형식 지정 옵션을 제공합니다.
- 이는 다양한 지역 설정에서도 일관된 날짜 형식을 유지할 수 있도록 도와줍니다.
데이터베이스에서 DATE 타입을 사용하면 데이터의 효율적인 저장, 검색, 무결성 관리, 연산 등 다양한 측면에서 이점이 있습니다. 따라서 날짜 및 시간 정보를 저장할 때에는 DATE 타입을 활용하는 것이 권장됩니다.
'데이터베이스' 카테고리의 다른 글
[SQL] DB SQL 반복문 쿼리 recursive CTE (0) | 2024.08.23 |
---|---|
[DB] 인덱스 컬럼 순서 기준, 인덱스 매칭도 , 튜닝 우선순위 (0) | 2024.05.21 |
[SQL] 집합 연산자 실습 (MINUS, UNION, INTERSACT...) (0) | 2024.02.21 |
[DB 설계] 테이블 명세서 양식 (0) | 2024.01.30 |