Mysql时间存储类型优缺点?DATETIME?TIMESTAMP?INT?

TIMESTAMP

4个字节储存;值以UTC格式保存;.时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。

DATETIME

8个字节储存;实际格式储存;与时区无关;datetime 以‘YYYY- MM-DD HH:MM:SS‘格式检索和显示DATETIME值。支持的范围为‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘TIMESTAMP值不能早于1970或晚于2037

INT

存时间戳。占用资源少,查询速度快。条件范围搜索使用between没什么问题。查询条件自由拼接。

datetime和timestamp相对于int来说也有一个小小的好处,就是对于时间类型来说,可以有一系列的时间函数可以用.

时间: 2024-11-11 19:11:17

Mysql时间存储类型优缺点?DATETIME?TIMESTAMP?INT?的相关文章

Hibernate @Temporal 注解处理Java与Mysql时间日期类型的映射关系

2017-4-2 在 Java 中使用 java.util.Date 和 java.util.Calendar 表示时间.日期类型.在 Mysql 中使用 YEAR.DATE.TIME.TIMESTAMP.DATETIME 五种数据类型表示时间日期,由此引出了 Java 日期类型跟数据库的日期类型怎么映射的问题.本文总结了使用 Hibernate @Temporal 注解的解决方案. 使用 @Temporal 注解修饰 Java 实体类的数据类型 指定 @Temporal value 属性,其中

mysql 字段存储类型

摘自:http://zuo.ai.xiao.blog.163.com/blog/static/6079155320121293750732/ 1.数字类型                                          有符号                         无符号                                  存储(bytes)tinyint                            -128到127              

07、MySQL—时间日期类型

时间日期类型 1.Date 日期类型:系统使用三个字节来存储数据,对应的格式为:YYYY-mm-dd,能表示的范围是从1000-01-01 到9999-12-12,初始值为0000-00-00 2.Time 时间类型:能够表示某个指定的时间,但是系统同样是提供3个字节来存储,对应的格式为:HH:ii:ss,但是mysql中的time类型能够表示时间范围要大的多,能表示从-838:59:59~838:59:59,在mysql中具体的用处是用来描述时间段. 3.Datetime 日期时间类型:就是将

细节决定成败-mysql中的时间存储(datetime,timestamp,int)

在mysql中存储时间,我们可以用datetime 格式,timestamp格式,也可以用int格式.那么我们设计的时候该如何考虑呢? 首先,我觉得应该明白这几个格式究竟是如何的,然后看看他们的区别,这样我们才能思考何时使用正确的格式. DATETIME格式,默认是"YYYY-MM-DD HH:MM:SS",这19个字符表示的,从1000-01-01 00:00:00-9999-12-31 23:59:59 . TIMESTAMP格式也是'YYYY-MM-DD HH:MM:SS'这样的

关于MySQL中存储类型为Float,使用jdbc查询时丢失精度,或者自动四舍五入的问题

一.   mysql表结构: member_price列的数据类型是float(20,2)(注: 表示最多20位浮点数,精度为2位) 插入记录: INSERT INTO `member_price` (`id`, `data_type`, `month`, `member_count`, `member_price`, `create_at`) VALUES ('1', '1', '2015-11', '5864', '1765910.8745120', '1450078966586'); IN

MySql 时间类型 & JDBC时间类型

MySql时间类型:DATETIME & TIMESTAMP 长度 DATETIME类型包含DATE和TIME,范围1000-01-01 00:00:00 ~ 9999-12-31 23:59:59.DATETIME还能包含毫秒,例如2018-03-11 14::13:22.999 TIMESTAMP也能存储日期和时间,但是范围只有1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC 时区 DATETIME存储的时间不包含时区 TIMESTAMP存储

c语言的数据类型,运算符,存储类型

[1词法符号]1. 关键字:32个1) 存储类型:决定(设备)变量的存储位置auto(自动型).extern(外部引用) static(静态型) register(寄存器类型)2) 数据类型:决定设备在对应位置所占的空间大小char (字符型) int(整型) short(短整型) long(长整型) float(单精度浮点类型) double(双精度浮点类型) signed(有符号)unsigned(无符号)3)控制语句:if ,else ,switch , case ,break ,defa

MySQL时间字段究竟使用INT还是DateTime的说明

今天解析DEDECMS时发现deder的MYSQL时间字段,都是用 `senddata` int(10) unsigned NOT NULL DEFAULT '0'; 随后又在网上找到这篇文章,看来如果时间字段有参与运算,用int更好,一来检索时不用在字段上转换运算,直接用于时间比较!二来如下所述效率也更高. 归根结底:用int来代替data类型,更高效. 环境: Windows XP PHP Version 5.2.9 MySQL Server 5.1 第一步.创建一个表date_test(非

MYSQL时间类别总结: TIMESTAMP、DATETIME、DATE、TIME、YEAR

总结背景: 对于MYSQL数据库日期类型或多有了解, 但并很清晰其中一些规则. 基本都是面向浏览器编码, 这实质上也是一种方式.  但期间遇到两个问题: 时常遇到建表中出现多个datetime或者timestamp字段并使用 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP时报错, 难以查到原因, 最后粗暴的直接去掉 查询网络非官方文档知识点不全, 越查越糊涂 因为这两点 促使我硬着头皮查看MYSQL的官方文档 虽然刚开始很难受 结果的确