-
阿里二面:最讨厌的问题来了,MySQL 保存日期用哪种数据类型?
- 网站名称:阿里二面:最讨厌的问题来了,MySQL 保存日期用哪种数据类型?
- 网站分类:技术文章
- 收录时间:2025-06-30 16:11
- 网站地址:
“阿里二面:最讨厌的问题来了,MySQL 保存日期用哪种数据类型?” 网站介绍
#来点儿干货#新公司有很多表的日期格式是Long类型数值,排查问题一眼望去有点想骂娘啊,数值真的就比其他类型性能更高么?
在MySQL中保存日期和时间,通常有三种数据类型可供选择:DATETIME、TIMESTAMP和数值时间戳(通常是以整数形式的UNIX时间戳)。
选择哪种类型取决于具体的应用场景和需求。下面是关于这三种类型的对比分析:
DATETIME
- 存储范围:'1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。
- 存储格式:以YYYY-MM-DD HH:MM:SS的格式存储,不包含时区信息。
- 存储长度:8字节。
- 应用场景:当你需要保存的日期和时间不依赖于时区,或者你想自己控制时区转换时。比如,出生日期、历史事件日期等。
TIMESTAMP
- 存储范围:'1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。
- 存储格式:以UTC格式存储,并在检索时转换为当前时区的时间。
- 存储长度:4字节。
- 特别之处:TIMESTAMP类型的字段会根据数据库服务器的时区设置自动转换为存储时的时区,检索时转换回当前的时区。
- 应用场景:适用于需要考虑时区的应用,或者记录数据的创建和修改时间。比如,用户的最后登录时间、记录的创建和更新时间戳等。
数值时间戳(UNIX时间戳)
- 存储范围:通常表示为自'1970-01-01 00:00:00' UTC以来的秒数,取决于所使用的整数类型。
- 存储格式:整数。
- 存储长度:取决于整数类型,INT为4字节(足以存储到2038年),BIGINT为8字节(可存储到很远的未来)。
- 应用场景:当你需要与其他系统交互,或者进行日期时间的高效计算时。比如,系统间同步、日志记录等。
性能
- 索引和查询:TIMESTAMP和数值时间戳通常在索引和查询上更快,因为它们占用的存储空间更小,检索时转换计算量也较小。
- 比较和计算:数值时间戳在进行日期时间的计算和比较时通常更高效,因为它们是简单的整数运算。
- 存储效率:TIMESTAMP类型占用的空间最少,因此在存储效率上更高。
存储长度差异
- DATETIME:8字节。
- TIMESTAMP:4字节。
- 数值时间戳:4字节(INT),8字节(BIGINT)。
结论
选择哪种日期时间类型取决于:
- 你是否需要考虑时区(TIMESTAMP)。
- 你是否需要存储超出TIMESTAMP范围的日期(DATETIME)。
- 你是否需要与其他系统交互或进行高效的日期时间计算(数值时间戳)。
- 你的存储空间是否有限制(TIMESTAMP相对更节省空间)。
更多相关网站
- MySQL 数据库恢复:如何执行时间点恢复(PITR)以挽救受损数据?
- 如何正确查询mysql的启动和关闭时间?
- 您对MySQL常用内置日期时间函数认识多少?
- mysql备份脚本:自己设定用户名密码及数据保留时间
- mysql——日期操作
- spring + mysql, 日期年份大于9999带来的灾难
- 牛哇!MySQL中的日志“binlog”的三种格式这么好玩
- MySQL 中时间函数详解,及加减计算总结和使用!
- MySQL计算两个日期(两个时间)相差的天数、月数、年数
- Mysql日期格式化显示“年月”
- MySQL 保存日期,用哪种数据类型合适
- 分享一个小技巧——mysql统一处理创建时间和更新时间
- 最近发表
- 标签列表
-
- c++论坛 (14)
- 前端论坛 (11)
- mysql 时间索引 (13)
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 二调符号库 (23)
- acmecadconverter_8.52绿色版 (25)
- throttlestop防止降频 (9)
- f12019破解 (16)
- 流星蝴蝶剑修改器 (18)
- 联想杜比音效驱动下载 (10)
- np++ (17)
- 算法第四版pdf (14)
- 梦幻诛仙表情包 (36)
- https://www.zxzj.me/ (9)
- 魔兽模型 (23)
- java面试宝典2019pdf (26)
- beamoff下载 (17)
- disk++ (30)
- vncviewer破解版 (20)
- word文档批量处理大师破解版 (19)
- pk10牛牛 (20)
- mysql 昨天的日期 (13)