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

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

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

6.8K30

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

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

日期算是我们在日常开发中经常用到的数据类型,一般来说一张表都有 createTime updateTime 字段,MySQL 中针对日期也提供了很多种不同的数据类型,如: datetime timestamp...int 等等。...官网的内容: 可以看到,MySQL5.6.4 是一个分水岭: 在 MySQL5.6.4 之前,DATETIME 固定占用 8 个字节。...从 MySQL5.6.4 开始,DATETIME 类型开始支持毫秒,DATETIME(N) 中的 N 表示毫秒的精度,例如,DATETIME(6) 表示可以存储 6 位的毫秒值,那么此时,DATETIME...3. int 字符串费空间,TIMESTAMP DATETIME 如果没有吃透则总感觉乱乱的,所以也有人存时间戳,存一个 int 类型的数值,用一个时间戳来表示时间。

1.5K20

MysqlMySQL中 TIMESTAMP类型 DATETIME类型 的区别

DATETIME:不做任何改变,基本上是原样输入输出 2、两者所能存储的时间范围不一样 timestamp存储的时间范围为:‘1970-01-01 00:00:01.000000’ 到 ‘2038-01...datetime存储的时间范围为:‘1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’。...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会报错 参考资料: MySQL中 TIMESTAMP类型 DATETIME类型 的区别 http://www.studyofnet.com

2.6K20

MySQLdatetime timestamp 的区别与选择

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

15.6K30

MySQLDATETIME与TIMESTAMP

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

2.5K50
领券