千家信息网

MySQL查询时间段用INT还是DateTime比较好

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"MySQL查询时间段用INT还是DateTime比较好",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"MySQL查询时间段用INT还是Da
千家信息网最后更新 2026年11月02日MySQL查询时间段用INT还是DateTime比较好

本篇内容主要讲解"MySQL查询时间段用INT还是DateTime比较好",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"MySQL查询时间段用INT还是DateTime比较好"吧!

  MySQL查询时间段使用INT还是DateTime

  针对此问题,下面将做一个测试,看看MySQL查询时间段究竟应该使用INT还是DateTime。

  环境:

  WindowsXP

  PHPVersion5.2.9

  MySQLServer5.1

  第一步、创建一个表date_test(非定长、int时间)

  CREATETABLE`test`.`date_test`(

  `id`INTNOTNULLAUTO_INCREMENT,

  `start_time`INTNOTNULL,

  `some_content`VARCHAR(255)NOTNULL,

  PRIMARYKEY(`id`)

  )ENGINE=InnoDB;

  第二步、创建第二个表date_test2(定长、int时间)

  CREATETABLE`test`.`date_test2`(

  `id`INTNOTNULLAUTO_INCREMENT,

  `start_time`INTNOTNULL,

  `some_content`CHAR(255)NOTNULL,

  PRIMARYKEY(`id`)

  )ENGINE=InnoDB;

  第三步、创建第三个表date_test3(varchar、datetime时间)

  CREATETABLE`test`.`date_test3`(

  `id`INTNOTNULLAUTO_INCREMENT,

  `start_time`DATETIMENOTNULL,

  `some_content`VARCHAR(255)NOTNULL,

  PRIMARYKEY(`id`)

  )ENGINE=InnoDB;

  第四步、创建第四个表date_test3(char、datetime时间)

  CREATETABLE`test`.`date_test4`(

  `id`INTNOTNULLAUTO_INCREMENT,

  `start_time`DATETIMENOTNULL,

  `some_content`CHAR(255)NOTNULL,

  PRIMARYKEY(`id`)

  )ENGINE=InnoDB;

  ok,现在我们开始做测试,环境是php,先向各个表插入一百万条数据。插入的时候分200次,每次进库5000条。

  MySQL查询时间段使用INT还是DateTime

  表一执行记录:页面运行时间:26.5997889042秒,插入的时候发现一个有趣的现象:SELECTcount(id)FROM`date_test`WHERE1的结果是100w,而直接select*from`date_test`却是1,000,374条结果。(后来看到这是一个可能接近的值,请参看MySQLFAQ3.11)。

  表二执行记录:页面运行时间:62.3908278942秒,这次记录是1,000,066条。

  表三执行记录:页面运行时间:30.2576560974秒,这次的是1,000,224条。

  表四执行记录:页面运行时间:67.5393900871秒,这次的是:1,000,073条。

  现在把四个表的start_time字段一一加上索引。

  测试四个表的更新,分别update100条记录,并记录时间:

  表一:页面运行时间:2.62180089951秒(非定长,int时间)

  表二:页面运行时间:2.5475358963秒(定长,int时间)

  表三:页面运行时间:2.45077300072秒(varchar,datetime时间)

  表四:页面运行时间:2.82798409462秒(char,datetime时间)

  测试四个表的读取,分别select100条随机记录,以主键id为条件查询,并记录时间:

  表一:页面运行时间:0.382651090622秒(非定长,int时间)

  表二:页面运行时间:0.542181015015秒(定长,int时间)

  表三:页面运行时间:0.334048032761秒(varchar,datetime时间)

  表四:页面运行时间:0.506206989288秒(char,datetime时间)

  测试四个表的读取,分别select10条随机记录,以star_time为条件查询,并记录时间:

  表一:页面运行时间:30.1972880363秒(非定长,int时间)

  表二:页面运行时间:65.1926910877秒(定长,int时间)

  表三:页面运行时间:39.7210869789秒(varchar,datetime时间)

  表四:页面运行时间:70.4632740021秒(char,datetime时间)

  因为量比较小,所以我们默认即使是微小的变化,也是有意义的。

  结论:

  大数据量下,如果存在大量的select*fromtablewhere时间>XX这样的查询,在MySQL5.1时使用int换datetime是有意义的。

到此,相信大家对"MySQL查询时间段用INT还是DateTime比较好"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

时间 页面 运行 查询 定长 时间段 还是 测试 内容 数据 时候 条件 环境 结果 学习 实用 微小 更深 有趣 万条 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 A股互联网金融科技公司 互联网科技论文 苏州互联网科技贷款公司 四川狮子座互联网科技 中国互联网金融科技基金 安控科技rtu产品工业互联网 科技互联网的估值 成都互联网科技公司100强 重庆互联网医院沙龙医盟信息科技 浙南科技城互联网大厦建设工程 如何创新互联网科技 明优互联网科技有限公司 互联网公司高科技产品 深圳互联网科技的发展 上海创道互联网络科技有限公司 神州科技互联网有限公司 珠海东科互联网科技有限公司 科技互联网公司两年变化 杭州融税互联网科技有限公司 河南商务圈互联网科技有限公司 北京互联网科技公司 互联网科技股午盘股票涨跌 江苏南京365互联网科技 茂名市互联网科技产业园 河南猎农互联网科技有限公司 互联网科技和法律行业 为客找房互联网科技公司怎么样 中天科技中国工业互联网 中国互联网公司的科技投入 互联网对科技影响
0