mysql timestamp类型时间比较大小时查询的问题

环境:ubuntu 1G,mysql 5.6.34
数据类型:test中create_time字段的类型

`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP

test表中该字段值存如下:
图片描述

第一种查询

 SELECT 
  `id`,
  `site_id`,
  `create_time`,
  `client_ip` 
FROM
  `test` 
WHERE ( create_time >= '2017-9-27 0:0:0' ) 
ORDER BY id DESC 
LIMIT 0, 20 

第二种查询

 SELECT 
  `id`,
  `site_id`,
  `create_time`,
  `client_ip` 
FROM
  `test` 
WHERE ( create_time >= '2017-9-27 17:24:4' ) 
ORDER BY id DESC 
LIMIT 0, 20 

第二种方式很慢,第一种很快就查出来了。
如果把第二种方式create_time的查询时间改为'2017-9-27 0:0:0',也会很快。
为什么跟上具体的小时分钟秒的时候会变慢?
难道跟create_time这个字段为timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP这种类型有关系?

阅读 12k
1 个回答

应该是数据本身的问题。你可以试试,不带LIMIT 0, 20的话,两者返回的数据数量是否有差别。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏