DB에서 날짜데이터는 데이터의 입출력의 로그를 남기거나, 스케줄을 제한하여 특정기능을 여는 등에 많은 부분에서 다양하게 활용된다.
그렇기에 쿼리에서도 기본적인 날짜 데이터 자료형을 지원한다.
- DATE
- TIME
- DATETIME
- TIMESTAMP
각 날짜데이터는 저장형식이나 범위의 차이는 있지만 날짜데이터로 지정된다는 점에서 궤를 같이한다.
하지만 실제 업무코드를 살펴보다보면 가변길이 문자열 자료형 VARCHAR() 타입으로 지정해 두는 경우를 심심치 않게 볼 수 있는데,
본 포스팅에서는 날짜데이터를 다루는 활용을 중점으로 두 가지 자료형에 대한 차이를 설명해보고자 한다.
날짜 데이터 자료형을 사용하는 경우
장점
- 자료형으로서 날짜데이터의 포맷을 지정할 수 있다.
- 날짜 계산이나 정렬, 검색등의 작업이 쉬워진다.
- 데이터베이스에서 제공하는 날짜 함수를 활용하여 날짜 계산이나 데이터 가공등의 작업을 보다 쉽게 할 수 있다.
- 데이터 유효성 검증이나 데이터 적합성 유지에도 용이하다.
단점
- 포맷이 지정되어있으므로 데이터 입력 시에 제약이 따를 수 있다.
- 날짜형식이 다르게 들어갈 경우 적합성이 깨질 수 있고
- 시간까지 저장하는 자료형의 경우, 데이터량이 많아짐에 따라 용량측면에서 유의미한 비효율성을 낳게 된다.
- CHAR
- VARCHAR
- TEXT
문자열 데이터 자료형을 사용하는 경우
장점
- 데이터 입력 시 제약이 적어 데이터 입력이 자유롭다.
- 같은 문자열 데이터 유형의 인덱스를 사용할 수 있으므로 조회 성능 향상을 기대할 수 있다.
단점
- 데이터 유효성 검증에 적합하지 않다.
- 자유로운 데이터 입력으로 인한 데이터의 통일성(정합성)이 깨질 수 있다.
- 날짜함수사용이 불가하므로 정확한 날짜 계산이 어려울 수 있다.
결론
날짜 데이터를 저장할 때는 해당 데이터를 용도와 성격에 맞는 데이터 유형을 선택하여 사용하는 것이 좋다.
-> 만약 데이터의 입력이 간편하고 단순한 조회작업만을 수행할 경우에는 문자열 자료형을 사용 권장
-> 만약 데이터의 가공이나 계산 등 2차적인 수행이 동반되는 경우는 날짜형 자료형 사용을 권장
한다.
'데이터베이스 > MariaDB' 카테고리의 다른 글
백업 테이블 생성 및 데이터 백업 및 복구 (0) | 2023.08.07 |
---|---|
[DataBase]정확한 연산을 위해 소수 데이터를 저장할때! Decimal()자료형에 대한 설명과 활용 (0) | 2023.03.03 |
컬럼의 NULL처리에 용이한 함수 - IFNULL() (0) | 2023.02.02 |
조인(JOIN)_JOIN의 개요 / INNER JOIN(내부 조인) (0) | 2022.11.11 |
[프로그래머스]Lv 2. 중성화 여부 파악하기 / SQL의 조건 / CASE THEN 문법 (0) | 2022.11.10 |