[MySQL] TIMESTAMP와 DATETIME 차이
TIMESTAMP와 DATETIME은 모두 날짜와 시간을 저장하는 MySQL의 데이터 타입입니다.
두 타입 모두 'YYYY-MM-DD HH:MM:SS' 형식을 사용하지만, 몇 가지 중요한 차이점이 있다.
1. 범위
TIMESTAMP는 1970년 1월 1일 00:00:01 UTC부터 2038년 1월 19일 03:14:07 UTC까지의 범위를 가집니다.
반면에 DATETIME은 1000년 1월 1일 00:00:00부터 9999년 12월 31일 23:59:59까지의 범위를 가집니다.
2. 시간대
TIMESTAMP는 시간대(Timezone)에 민감하며, UTC 시간을 기반으로 합니다.
따라서, 사용자의 위치에 따라 값이 변할 수 있습니다. 반면에 DATETIME은 시간대를 고려하지 않고, 입력된 그대로의 값을 유지합니다.
3. 저장 공간
TIMESTAMP는 4바이트를 사용하고, DATETIME은 8바이트를 사용합니다.
이는 DATETIME이 더 넓은 범위의 날짜와 시간을 저장할 수 있기 때문입니다.
따라서, 특정 시간대를 고려하지 않고 넓은 범위의 날짜와 시간을 저장해야 하는 경우 DATETIME을,
시간대를 고려하거나 저장 공간을 절약해야 하는 경우 TIMESTAMP를 사용하는 것이 좋습니다.