`

MySQL字段比较:dateime和timestamp

    博客分类:
  • db
 
阅读更多

我相信在绝大部分的mysql应用中,存放日期时间的字段类型都会选择使用datetime或者timestamp类型,datetime的日期范围从1001到9999年,采用8位整数将日期转换为'YYYYMMDDHHMMSS'的形式进行存放.timestamp就是unix时间戳(1970-2038),采用4为整数进行存储,并且默认提供自动更新功能.所以,很多人或者文章都会说在时间范围允许的情况下最好采用timestamp进行日期类型值得存储.

 

我做了对于datetime和timestamp字段进行不同情况下的查询操作的benchmark(使用jdbc作为app层进行数据获取),得到如下结果:

无索引


 有索引


 

得出结论:如果在查询时以unix时间戳形式获取数据,那么查询效率会更高,因为timestamp的存储就是时间戳,无需转换,而如果要获取时间的ansic格式,datetime将会更快,因为其存储格式和ansic格式就很接近了.如果要考虑到硬盘存储空间,显然是timestamp更小,但是对于100w数据,也只是小4m左右,所以对于现在时间的宝贵性,硬盘空间的价值就显得不那么重要了

  • 大小: 66.2 KB
  • 大小: 67 KB
分享到:
评论

相关推荐

    MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 参数

    主要介绍了MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 参数,需要的朋友可以参考下

    MySQL数据库:表的字段类型.pptx

    数据库和表的创建与管理 表的字段类型 ...表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。 每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使

    Mysql中的Datetime和Timestamp比较

    主要介绍了Mysql中的Datetime和Timestamp比较,本文总结了它们的相同点和不同点以及时间格式介绍等,需要的朋友可以参考下

    mysql的字段类型及简单的操作命令

    mysql数据的字段类型,如:DateTime,TimeStamp的解释。 登录数据库,修改表中字段及字段属性的命令。

    北京时间日期转时间戳、时间戳转北京时间日期

    timeStamp: 1325347200; time: 2012-01-01 00:00:00 timeStamp: 1538409599; time: 2018-10-01 23:59:59 timeStamp: 888645574; time: 1998-02-28 13:59:34 timeStamp: 1582991999; time: 2020-02-29 23:59:59 ...

    mysql 时间戳的用法

    时间戳字段在MySQL中经常使用到,比如需要记录一行数据创建的时间或修改的时间时,我们通常会使用时间戳即timestamp字段。本篇文章主要介绍timestamp字段的使用方法及相关参数,希望大家读完能对timestamp有更深的...

    PHP100视频教程 8:Mysql 简介和创建新的数据库.rar

    软件介绍 1、MYSQL简介与概要 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,现在已经 被Sun公司收购,支持FreeBSD、Linux、MAC、Windows等多种操作系统  (1)、可以处理拥有上千万条记录的...

    Mysql数据库设计.pdf

    Mysql数据库设计 数据库设计 MYSQL数据库设计 串转义... 取得结果集中字段的数⽬ mysql_num_rows(); 取得结果集中⾏的数⽬ mysql_result(); mysql_free_result(); mysql_close(); mysql_pconnect; mysql_create_db; m

    MySQL中datetime和timestamp的区别及使用详解

    二、关于TIMESTAMP和DATETIME的比较 一个完整的日期格式如下:YYYY-MM-DD HH:MM:SS[.fraction],它可分为两部分:date部分和time部分,其中,date部分对应格式中的“YYYY-MM-DD”,time部分对应格式中的“HH:MM:SS[....

    MySql性能调优(一)字段类型的选取之时间类型

    在本文中,我们将讨论 MySQL 中的时间类型,包括 DATE、TIME、DATETIME、TIMESTAMP 和 YEAR 等五种类型,并介绍各自的特点和应用场景。 DATE 类型 DATE 类型用于存储日期信息,格式为 ‘YYYY-MM-DD’,占用 3 字节...

    Java数据类型和MySql数据类型对应一览

    Java 数据类型和 MySql 数据类型对应一览 在 Java 编程语言中,数据类型是指变量或函数可以持有的值的类型。 MySql 数据库也具有其自己的数据类型,用于存储和管理数据。在本文中,我们将对 Java 数据类型和 MySql ...

    解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别

    mysql 中:UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)若无参数调用,则返回一个Unix timestamp (‘1970-01-01 00:00:00′ GMT 之后的秒数) 作为无符号整数。若用date 来调用UNIX_TIMESTAMP(),它会将参数值以’1970-01...

    maven-timestamp-plugin-1.0.jar

    maven-timestamp-plugin-1.0.jar

    oracle中TIMESTAMP与DATE比较

    oracle中TIMESTAMP与DATE比较

    mysql之TIMESTAMP(时间戳)用法详解

    1.在创建新记录和修改现有记录的时候都对这个数据列刷新: TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 2.在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它: ...

    mysql时间类型对应的java类型1

    Mysql 与 java 的时间类型 MySql的时间类型有 Java中与之对应的时间类型 datejava.sql.Date Datetimejava.sql

    MySql 5.1 参考手册.chm

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    MySQL错误TIMESTAMP column with CURRENT_TIMESTAMP的解决方法

    在部署程序时遇到的一个问题,MySQL定义举例如下: 代码如下:CREATE TABLE `example` ( `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `lastUpdated...

    C#更新SQLServer中TimeStamp字段(时间戳)的方法

    主要介绍了C#更新SQLServer中TimeStamp字段(时间戳)的方法,涉及C#操作数据库字段的相关技巧,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics