We.TIL 35: DATETIME vs TIMESTAMP

김기욱·2020년 9월 16일
0

We.TIL

목록 보기
56/69

sql문을 사용해서 table을 create할 경우 datetime 과 timestamp라는 거의 흡사해보이는 형태의 fieldtype들이 보인다. 둘 다 똑같이 YYYY-MM-DD HH:MM:SS 형식으로 날짜와 시간을 모두 포함해 년부터 초까지 일렬로 보여준다.

과연 이 둘은 어떤경우에 써야할까? 각자의 특징을 통해 차이점을 비교해보자.

DATETIME

문자형
8바이트
데이터값을 반드시 입력해줘야만 날짜가 입력됨
타임존을 참조하지않음

TIMESTAMP

숫자형
4바이트
데이터값을 반드시 입력해 주지 않아도 저장시에 자동으로 현재 날짜가 입력됨
타임존을 참조
인덱스가 더 빠르게 생성

결론

가장 큰 차이점을 보여주는 것은 '타임존'을 참조여부와 '자동입력'여부
그러므로 시스템 타임존의 변화 따라 바뀜이 필요한 데이터를 처리할 때는 타임스탬프로, 그렇지 않을 경우는 데이트타임으로 처리하자.

또한 created at, updated at같은 데이터의 형성, 변경 등의 시간대를 기록할 때는 타임스탬프가 우월하다.

profile
어려운 것은 없다, 다만 아직 익숙치않을뿐이다.

0개의 댓글