这里是修真院后端小课堂,每篇分享文从
八个方面深度解析后端知识/技能,本篇分享的是:
【为什么DB的设计中要使用Long来替换掉Date类型?】
【修真院java 小课堂】为什么DB的设计中要使用Long来替换掉Date类型?
大家好,我是IT修真院深圳分院第12期的学员,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java任务1的深度思考-为什么DB的设计中要用Long来替代Date类型?
(1)背景介绍
在对数据库中的记录进行操作的时候,需要牵涉到对时间数据的处理,如create_at,update_at等字段,数据库中有专门用于存储时间的类型,date,还可以将类型设置为long类型,那么两者的有何差异?
(2)知识剖析
MySQL中的表示时间的类型
date:日期,占用三个字节,1000-01-01——9999-12-31
datetime:日期+时间,1000-01-01 00:00:00” 到“9999-12-31 23:59:59,占用8个字节,datetime类型适合用来记录数据的原始的创建时间,因为无论你怎么更改记录中其他字段的值,datetime字段的值都不会改变,除非你手动更改它。
timestamp:日期+时间,占用4个字节,“19700101080001——20380119111407,timestamp类型适合用来记录数据的最后修改时间,因为只要你更改了记录中其他字段的值,timestamp字段的值都会被自动更新。
MySQL中的bigint类型