본문 바로가기
데이터베이스

[DB]날짜(Date)타입이 문자열(Character)보다 용량이 적은 이유?

by ordinary_daisy 2023. 9. 5.

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

보통 날짜나 시간은 문자열보다 Date 컬럼으로 적재하라고 지향하는데요.

출력되는 길이는 날짜/시간 형태가 더 긴데 어째서 문자열이 용량측면 비효율이 발생할까요?


용량 측면에서 날짜/시간 타입이 문자열 타입보다 효율적인 이유를 5가지로 정리해보겠습니다.

  1. 내부 저장 형식
    • DATE 타입은 대부분의 데이터베이스 시스템에서 내부적으로 숫자로 저장됩니다.
    • 이 숫자는 일정한 형식으로 날짜와 시간 정보를 나타냅니다.
    • 이는 문자열과는 달리 고정된 크기의 데이터를 저장하므로 저장 공간을 효율적으로 사용할 수 있습니다.
  2. 인덱싱 및 검색 성능
    • DATE 타입의 날짜 정보는 쿼리의 인덱싱과 검색 성능을 향상시킵니다.
    • 숫자 형태로 저장된 날짜는 비교 및 정렬에 매우 효율적이며, 범위 쿼리와 같은 작업에서 문자열보다 빠른 검색이 가능합니다.
  3. 데이터 무결성
    • DATE 타입을 사용하면 데이터베이스에서 날짜 값의 무결성을 보다 쉽게 관리할 수 있습니다.
    • 데이터베이스는 DATE 형식의 값을 날짜로 인식하고 유효한 날짜인지 확인할 수 있습니다.
    • 이는 잘못된 형식이나 부적절한 날짜 값이 저장되는 것을 방지합니다.
  4. 날짜 연산 및 함수
    • DATE 타입을 사용하면 날짜 및 시간 관련 연산 및 함수를 사용하기가 훨씬 간편합니다.
    • 데이터베이스 시스템은 DATE 타입에 대해 내장된 함수를 제공하므로 날짜와 시간 데이터를 쉽게 조작할 수 있습니다.
  5. 국제화 및 형식화
    • DATE 타입은 날짜 형식을 관리하기 쉽게 해주는 형식 지정 옵션을 제공합니다.
    • 이는 다양한 지역 설정에서도 일관된 날짜 형식을 유지할 수 있도록 도와줍니다.

데이터베이스에서 DATE 타입을 사용하면 데이터의 효율적인 저장, 검색, 무결성 관리, 연산 등 다양한 측면에서 이점이 있습니다. 따라서 날짜 및 시간 정보를 저장할 때에는 DATE 타입을 활용하는 것이 권장됩니다.