Mysql 날짜관련 data type, datetime과 timestamp 차이

2022. 6. 2. 21:00·Database/MySQL

datetime과 timestamp의 차이

timestamp

  • mysql은 저장할 때 현재 타임존에서 UTC로 변환하고, 조회할 때 UTC에서 현재 시간대로 변환한다.
    • 타임존 변경 작업시 부하가 발생할 수 있다.
    • 하지만 요즘 트렌드는 timestamp를 사용하는 것이라고 한다. 그정도 부하는 허용 가능한가보다.
  • 기본으로 각 연결의 타임존은 서버의 시간이고, 타임존은 connection별로 설정할 수 있다.
  • Mysql에서 사용할 time zone 셋팅 방법은 여러가지이다.
    • 시스템 변수의 time_zone 값을 사용할 수 있다.
    • mysql서버 시작 시 --timezone 옵션 값을 줄 수 있다.
    • 등 다른 방법도 있다.
  • 1970-01-01 00:00:01부터 2038-01-19 03:14:07까지 지원
  • [확인] Index가 더 빠르게 생성된다고 하는데 해당 부분은 공식문서를 확인해보지 않은 상황

datetime

  • 날짜 및 시간 부분을 모두 포함하는 값에 사용
  • 1000-01-01 00:00:00부터 9999-12-31 23:59:59까지 지원
  • timezone 반영하지 않음

결론

  • 글로벌 서비스라면 timezone이 반영된 timestamp 를 사용하고, 그렇지 않다면 datetime을 사용하는 게 좋지 않을까 합니다.

Mysql 타임존 확인방법

show variables like '%time_zone%'
저작자표시 (새창열림)

'Database > MySQL' 카테고리의 다른 글

FCM토큰 저장 테이블 최적화  (0) 2023.04.10
프로젝트 쿼리 최적화 작업  (0) 2023.04.06
MySQL 초단위 precision 자릿수 넘어갈 경우  (0) 2022.06.03
Mysql 스토리지엔진, InnoDB 와 MyISAM  (0) 2022.06.01
Mysql MMM이란 (Multi-Master Manager)  (0) 2021.10.06
'Database/MySQL' 카테고리의 다른 글
  • 프로젝트 쿼리 최적화 작업
  • MySQL 초단위 precision 자릿수 넘어갈 경우
  • Mysql 스토리지엔진, InnoDB 와 MyISAM
  • Mysql MMM이란 (Multi-Master Manager)
devstep
devstep
웹 백엔드 개발자
  • devstep
    개발 여정
    devstep
  • 전체
    오늘
    어제
    • 분류 전체보기 (86)
      • Java관련 (27)
        • Java (21)
        • Intellij (4)
      • Spring Framework (14)
        • Spring (11)
        • JPA (3)
      • Concept (6)
        • 인증 (1)
        • REST API (1)
        • 테스트코드 (3)
        • 클린코드 (1)
      • Database (8)
        • RDBMS공통 (1)
        • MySQL (6)
        • Oracle (1)
      • git (2)
      • Computer Science (3)
        • 네트워크 (1)
        • 자료구조 (1)
        • 보안 (1)
      • Essay (15)
        • Learning Essay (10)
        • WIL (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    클린코드
    component
    대칭암호화
    JVM
    linux
    nofile
    applicationcontext
    보안
    ClusteredIndex
    springsecurity
    테스트코드
    aggregate
    JMeter
    storageEngine
    JavaMemoryModel
    innodb
    seed
    단위테스트
    tdd
    DDD
    부하테스트도구
    부하테스트
    성능테스트
    인텔리제이실행에러
    nginx
    비대칭암호화
    블록암호화
    자바메모리모델
    bean
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
devstep
Mysql 날짜관련 data type, datetime과 timestamp 차이
상단으로

티스토리툴바