首页
学习
活动
专区
圈层
工具
发布

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

原文 | http://1t.click/FAB 在数据库设计的时候,我们经常会需要设计时间字段,在 MYSQL 中,时间字段可以使用 int、timestamp、datetime 三种类型来存储,那么这三种类型哪一种用来存储时间性能比较高...对于 MyISAM 引擎,建立索引的情况下,效率从高到低:UNIXTIMESTAMP(timestamp) > int > datetime(直接和时间比较)>timestamp(直接和时间比较)>UNIXTIMESTAMP...对于 InnoDB 引擎,没有索引的情况下(不建议),效率从高到低:int > UNIXTIMESTAMP(timestamp) > datetime(直接和时间比较) > timestamp(直接和时间比较...对于 InnoDB 引擎,建立索引的情况下,效率从高到低:int > datetime(直接和时间比较) > timestamp(直接和时间比较)> UNIXTIMESTAMP(timestamp) >...一句话,对于 MyISAM 引擎,采用 UNIX_TIMESTAMP(timestamp) 比较;对于InnoDB 引擎,建立索引,采用 int 或 datetime直接时间比较。

8.4K30

jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题

jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题 之前在项目中根据需求,需要自定义标签,经过查询w3c文档,自己也踩了一些坑,特此记录自定义标签的步骤,下面就以我之前的一个例子中的定义一个时间转换标签为例...= 6464168398214506236L; private String value; public int doStartTag() throws JspException {...在WEB-INF文件夹下建一个mytags.tld文件(文件名可以自定义),作为标签的配置文件,内容如下: //其中${ time }是一个int...类型的时间戳的变量 关于jstl库中的日期标签的使用请参考 注:本文是结合网上的资料及自己的总结所得,如需转载请注明http://www.cnblogs.com/zhuchenglin/p/8109787

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题 之前在项目中根据需求,需要自定义标签,经过查询w3c文档,自己也踩了一些坑,特此记录自定义标签的步骤,下面就以我之前的一个例子中的定义一个时间转换标签为例...= 6464168398214506236L; private String value; public int doStartTag() throws JspException {...在WEB-INF文件夹下建一个mytags.tld文件(文件名可以自定义),作为标签的配置文件,内容如下: //其中${ time }是一个int...类型的时间戳的变量 关于jstl库中的日期标签的使用请参考 注:本文是结合网上的资料及自己的总结所得,如需转载请注明http://www.cnblogs.com/zhuchenglin/p/8109787

    2.6K10

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题 之前在项目中根据需求,需要自定义标签,经过查询w3c文档,自己也踩了一些坑,特此记录自定义标签的步骤,下面就以我之前的一个例子中的定义一个时间转换标签为例...= 6464168398214506236L; private String value; public int doStartTag() throws JspException {...在WEB-INF文件夹下建一个mytags.tld文件(文件名可以自定义),作为标签的配置文件,内容如下: //其中${ time }是一个int...类型的时间戳的变量 关于jstl库中的日期标签的使用请参考 注:本文是结合网上的资料及自己的总结所得,如需转载请注明http://www.cnblogs.com/zhuchenglin/p/8109787

    2.6K10

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题 之前在项目中根据需求,需要自定义标签,经过查询w3c文档,自己也踩了一些坑,特此记录自定义标签的步骤,下面就以我之前的一个例子中的定义一个时间转换标签为例...= 6464168398214506236L; private String value; public int doStartTag() throws JspException {...在WEB-INF文件夹下建一个mytags.tld文件(文件名可以自定义),作为标签的配置文件,内容如下: //其中${ time }是一个int...类型的时间戳的变量 关于jstl库中的日期标签的使用请参考 注:本文是结合网上的资料及自己的总结所得,如需转载请注明http://www.cnblogs.com/zhuchenglin/p/8109787

    2.7K20

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题 之前在项目中根据需求,需要自定义标签,经过查询w3c文档,自己也踩了一些坑,特此记录自定义标签的步骤,下面就以我之前的一个例子中的定义一个时间转换标签为例...= 6464168398214506236L; private String value; public int doStartTag() throws JspException {...在WEB-INF文件夹下建一个mytags.tld文件(文件名可以自定义),作为标签的配置文件,内容如下: //其中${ time }是一个int...类型的时间戳的变量 关于jstl库中的日期标签的使用请参考 注:本文是结合网上的资料及自己的总结所得,如需转载请注明http://www.cnblogs.com/zhuchenglin/p/8109787

    2.5K20

    MySQL的int (10) 和 int (11) 的区别

    显示宽度只是指明 mysql 最大可能显示的数字个数,数值的位数小于指定的宽度时左侧用数字 0 填充。...同理,所以 int (10) 和 int (11) 无任何区别,就是显示宽度不同。...在存储方面确实没什么不同,设置长度只有在设置了自动填充 ZEROFILL 的时候才体现出来, 比如 id=1 长度为 int (5) 的话会显示 00001。...Mysql 可以为整数类型指定宽度,例如 INT (11),对大多数应用这是没有意义的:他不会限制值的合法范围,只是规定了 Mysql 的一些交互工具,如 Mysql 命令行客户端,用来显示字符的个数。...对于存储和运算来说, INT (1) 和 INT (8) 是相同的。 是的,设置自动填充的时候用来显示补充0有点 用而已

    2.8K30

    你真的懂定义语句 int a 吗?

    请看如下语句: int a; 这是一条非常简单的定义语句,意义简单明了!就连初学者小白都脱口而出:定义了一个整型变量嘛!有什么了不起的?...实际上你可以有两种办法来申请: 1,直接定义变量,在栈空间申请内存: int a; 2,用malloc函数,在堆空间申请内存:malloc(4); 栈空间和堆空间,是内存中最重要的两大片地,总的来说栈较小...第一句话,定义了变量a,类型是 int ,这意味着我们不仅向系统申请了一块内存,而且还约好了这块内存将来的用途:用作存储整型数据,而系统也会乐于使用整型的存储格式,来解析将来存储其中的1和0序列。...所以,定义一个变量 int a (租赁一块场地)实际上就是跟系统(物业公司)签订了一个协议(数据类型),规定了以后系统(物业公司)如何解析(管理)这块内存。...现在重点来了,我们经常会在数据类型转换的迷雾中晕头转向,例如以下例子: int a; *(float *)&a = 3.14; printf("a: %f\n, *(float &)&a); 一般人会认为

    1.5K20

    MySQL数据库日期时间函数大全

    一、获取当前日期/时间类 函数 说明 NOW() 当前日期 + 时间 CURDATE() 当前日期 CURTIME() 当前时间 CURRENT_TIMESTAMP() 当前时间戳(与 NOW 等价),...常用于字段默认值 LOCALTIME() 本地时间,与 NOW 相同 LOCALTIMESTAMP() 同上,与 NOW 相同 二、日期计算函数(加减时间) 函数 说明 DATE_ADD() 给日期增加时间...%r 完整12小时制时间 五、日期差值计算 函数 说明 DATEDIFF(a, b) 两个日期之间的天数差 TIMEDIFF(a, b) 两个时间之间的差值 TIMESTAMPDIFF(unit,...(curdate(), date_sub(curdate(), interval 1 month)); 获取当前时间到指定日期的时间间隔 SELECT TIMESTAMPDIFF(HOUR, '2025...函数 说明 UNIX_TIMESTAMP() 日期时间转时间戳 FROM_UNIXTIME() 时间戳转日期 示例: 上月今天的当前时间(时间戳) select unix_timestamp(date_sub

    3.3K11

    mysql中int长度的意义

    提问: mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大?...回答: 不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无符号数。 如果你的答案和上面的一致,恭喜你和我犯了一样的错误。...发现,无论是int(3), int(6), 都可以显示6位以上的整数。但是,当数字不足3位或6位时,前面会用0补齐。...查下手册,解释是这样的: MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。...结论: 无论是unsigned int(3)或 unsiend int(6),存储的都是4字节无符号整数, 也就是0~2^32。

    5.6K10

    【MySQL】:DDL数据库定义与操作

    其中,DDL用于定义数据库对象,如数据库、表和字段。本文将深入探讨DDL的数据库操作,包括查询数据库、创建数据库、删除数据库、切换数据库以及表的查询、创建、修改和删除等操作。...分 类 全称 说明 DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表, 字段) DML Data Manipulation Language 数据操作语言...DDL数据库操作 Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段) 。...3.2 数据类型 数值类型 字符串类型 日期时间类型 3.3 修改 添加字段 ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ]; 修改数据类型 ALTER...全篇总结 本文详细介绍了SQL中DDL的数据库操作,包括查询数据库、创建数据库、删除数据库、切换数据库以及表的查询、创建、修改和删除等操作。

    93010

    聊聊Mysql中的int(1)

    昨天有个读者问了我这样一个问题在mysql中建表的时候,我设置一个字段为int类型,长度为1,但是我发现这个字段却可以存储任意长度的数字,这是什么情况?...这个问题在我刚接触数据库的时候也遇到过,我觉得有必要写一篇文章来解释一下。 0 和 1 是计算机最基本的存储单位。也是 CPU 采用的最基本的计算单位,也就是二进制。...比如我们将int(1)改成int(3),我们再输入1,实际上显示的是001。所以无论你将 int 类型的长度设为多少并不会影响数据的存储范围。...mysql对于整型的数据类型,不仅给我们提供了int,还提供了tinyint,smallint,mediumint和bigint。...再来聊一聊一个常见的面试题:int类型做自增主键有没有可能存储完? 肯定是有的,都有数据范围了,主键一直增长肯定有可能会达到这个范围。 很多小伙伴是不是心中飘过一万匹草泥马,忙着修改数据库去了。

    2.7K20

    MySql中int(10)与int(11)有什么区别吗?

    最后查出的结果是:这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储 3个长度的数字,int(11)就会存储 11 个长度的数字,这是大错特错的。...我们通常在创建数据库的时候都不会加入这个选项,所以可以说他们之间是没有区别的。...首先说一下 MySQL 的数值类型,MySQL 支持所有标准 SQL 数值数据类型。...MySQL 类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。...0 3 总结 所以,int(2) 与int(11)后的括号中的字符表示显示宽度,整数列的显示宽度与 MySQL 需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,int类型的字段能存储的数据上限依旧是

    6.6K30

    【MySQL 】MySQL 中的 int(11) 到底代表什么意思?

    一、前言   在工作中经常要与 mysql 打交道,但是对 mysql 的各个字段类型一直都是一知半解,因此写本文总结记录一番。 二、简介 ?   ...对于 int 类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的 int(11) 代表什么意思,很长时间以来我都以为这代表着限制 int 的长度为 11 位,直到有天看到篇文章才明白,11...A column with INT(5) or INT(11) can store the same maximum values....首先创建一张表: CREATE TABLE int_demo (     id INT(11) NOT NULL AUTO_INCREMENT,     a INT(11) NOT NULL,     ...b INT(11) UNSIGNED ZEROFILL NOT NULL,     c INT(5) DEFAULT NULL,     d INT(5) UNSIGNED ZEROFILL NOT NULL

    4.9K20
    领券