首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MYSQL 数据库时间字段 INT,TIMESTAMP,DATETIME 性能效率比较

原文 | http://1t.click/FAB 在数据库设计的时候,我们经常会需要设计时间字段,在 MYSQL 中,时间字段可以使用 inttimestamp、datetime 三种类型来存储,那么这三种类型哪一种用来存储时间性能比较高...(d_timestamp)<600000 查询花费 0.0780 秒 对于 timestamp 类型,使用UNIX_TIMESTAMP内置函数查询效率很高,几乎int相当;直接日期比较效率低。...MYSQL 内置函数UNIX_TIMESTAMP 查询了。...对于 InnoDB 引擎,没有索引的情况下(不建议),效率从高到低:int > UNIXTIMESTAMP(timestamp) > datetime(直接时间比较) > timestamp(直接时间比较...对于 InnoDB 引擎,建立索引的情况下,效率从高到低:int > datetime(直接时间比较) > timestamp(直接时间比较)> UNIXTIMESTAMP(timestamp) >

6.8K30

MySQL 保存日期,用哪种数据类型合适?datetime?timestamp?还是 int

日期算是我们在日常开发中经常用到的数据类型,一般来说一张表都有 createTime updateTime 字段,MySQL 中针对日期也提供了很多种不同的数据类型,如: datetime timestamp...int 等等。...官网的内容: 可以看到,MySQL5.6.4 是一个分水岭: 在 MySQL5.6.4 之前,DATETIME 固定占用 8 个字节。...3. int 字符串费空间,TIMESTAMP DATETIME 如果没有吃透则总感觉乱乱的,所以也有人存时间戳,存一个 int 类型的数值,用一个时间戳来表示时间。...不过 int 有一个致命的问题就是可读性太差,所以用不用 int 就要仔细斟酌看情况了。 好啦,小伙伴们留言说说你日常开发日期用的哪种类型呢?出于什么样的考虑用了该类型?

1.4K20

MySQLint (10) int (11) 的区别

一旦人工设置了 ZEROFILL 属性,MySQL 会自动设置 UNSIGNED 属性(即 ZEROFILL 不能存储负数)。 那取值范围显示宽度到底有什么关系呢?...test_id_2 显示宽度为 4 两字段,接下来插入数据,同时插入 - 128、1 127 这些数值,看看会怎么样。...同理,所以 int (10) int (11) 无任何区别,就是显示宽度不同。...Mysql 可以为整数类型指定宽度,例如 INT (11),对大多数应用这是没有意义的:他不会限制值的合法范围,只是规定了 Mysql 的一些交互工具,如 Mysql 命令行客户端,用来显示字符的个数。...对于存储运算来说, INT (1) INT (8) 是相同的。 是的,设置自动填充的时候用来显示补充0有点 用而已

1.8K30

MysqlMySQLTIMESTAMP类型 DATETIME类型 的区别

DATETIME:不做任何改变,基本上是原样输入输出 2、两者所能存储的时间范围不一样 timestamp存储的时间范围为:‘1970-01-01 00:00:01.000000’ 到 ‘2038-01...3、timestamp支持default current_timestamp 来设置默认自动当前时间 4、timestamp支持on update current_timestamp 来设置更新时自动当前时间...5、timestamp时区相关,存储时以UTC时间保持,查询时转换为当前时区,即如果在东8区的08:00:00分保存的数据,在东9区看到的是09:00:00,datetime与时区无关 6、timestamp...4个字节存储(实际上就是int),datetime 8个字节 7、如果timestamp的值超出范围,mysql不会报错 8、如果是自动更新模式,手动修改数据导致timestamp字段更新 9、同时有两个...timestamp字段默认值为current_timestamp会报错 参考资料: MySQLTIMESTAMP类型 DATETIME类型 的区别 http://www.studyofnet.com

2.6K20

MySQL 中 datetime timestamp 的区别与选择

MySQL 中常用的两种时间储存类型分别是datetime timestamp。如何在它们之间选择是建表时必要的考虑。下面就谈谈他们的区别怎么选择。...也就是说,对于timestamp来说,如果储存时的时区检索时的时区不一样,那么拿出来的数据也不一样。对于datetime来说,存什么拿到的就是什么。...还有一个区别就是如果存进去的是NULL,timestamp会自动储存当前时间,而 datetime会储存 NULL。 2 测试 我们新建一个表 ? 插入数据 ?...查看数据,可以看到存进去的是NULL,timestamp会自动储存当前时间,而 datetime会储存NULL 把时区修改为东 9 区,再查看数据,会会发现 timestamp 比 datetime 多一小时...如果是想要使用自动插入时间或者自动更新时间功能的,可以使用timestamp

15.5K30

MySQL中DATETIME与TIMESTAMP

“温故而知新” 真理永远都不过时,今天由于工作的事情涉及到了这里,印象中只记得DATETIME类型占用8字节,TIMESTAMP类型占用4字节,心想这么久没有更新的知识万一过时了咋办,毕竟MySQL8都有了...由于好奇,我点开了让我眼前一亮的一个章节: “Important Algorithms and Structures” — “重要的算法结构” (链接在底部) v5.6.4版本之前: TIMESTAMP...最关键的就是年月的存储方式,有的小伙伴说直接分别存储年月不行吗?...计算速度有了一定的提升;TIMESTAMP使用到2038年1月19号就到终点站了…… 希望大家的项目到那时还存在,我的也是~~ ---- 贴出官网文档: 底层算法结构:https://dev.mysql.com.../5.7/en/date-and-time-type-overview.html 不仅仅是DATETIMETIMESTAMP,还有DATE,TIME,YEAR的介绍。

2.5K50

MySQL - 库表设计之IPTIMESTAMP的处理

Pre MySQL - 高效的设计MySQL库表 设计指导思想注意事项都梳理了一下,那来个小练习把 ---- TIMESTAMP 我们使用 MySQL 内置的函数(FROM_UNIXTIME(),UNIX_TIMESTAMP...()),可以将日期转化为数字,用 INT UNSIGNED 存储日期时间 示例 时间 2020-08-17 22:22:22 与整数之间的转换,转化后数字是连续的,占用空间更小,并且可以使用索引提升查询性能...mysql> select UNIX_TIMESTAMP('2020-08-17 22:22:22'); +---------------------------------------+ | UNIX_TIMESTAMP...> mysql> select UNIX_TIMESTAMP(now()); +-----------------------+ | UNIX_TIMESTAMP(now()) | +--------...MySQL 数据库内置了两个 IP 相关的函数 INET_ATON()、INET_NTOA(),可以实现 IP 地址整数的项目转换。

52310
领券