날짜 및 시간 저장을 위해 timestamp,datetime 을 쓰는것보다 decimal 로 저장하는게 유리한가요? 0 1 511

by 이상훈 [2018.08.17 22:47:05]


안녕하세요.

궁금한게 있습니다 .

제목 대로 "날짜 및 시간 저장을 위해 timestamp,datetime 을 쓰는것보다 decimal 로 저장하는게 유리한가요?"

저의 경우 MySQL 에선 보통 datetime을 쓰는편입니다. 이 경우 JAVA8의 LocalDateTime과 쉽게 맵핑이 되기도해서요.

헌데 간혹 JAVA의 System.currentTimeMiilis 로 1534406982507 형태로 저장하는 분들이 계시던데

아마 DB상에는 decimal로 저장될꺼라 추정됩니다.  이 경우가 timestamp,datetime을 직접 사용하는것보다 유리한점이 있나요? 

 

by chrome [2018.08.18 09:35:14]

개발자 입장에선 유리할 수 있습니다. 

시간값의 상대적 차이를 계산할때 좀 더 코딩하기 편하다고 볼 수 있으니까요. 

 

DBMS 입장에선 물리적으론 별 차이없고, 논리적인 부분에서 불리할 수 있습니다.

어차피 DBMS내에서도 타임데이터는 다시 눈으로 보는것과 다르게 저장할텐데요. 

DBMS에서 제공하는 시간 형태로 가공하거나 제어할것이 아니므로 

직관적이지 않고, 가공하기 좋지 않기 때문입니다.

 

하지만, dbms에서도 unixtime으로 변환하는 펑션들을 제공하는게 일반적이라 

개인 개발자의 일탈로 볼 수 있겠내요. 

이런 식으로 컬럼의 데이터 타입을 임의로 가공해서 쓰는것은 

모델링관점에서는 허용하지 않습니다. 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입