MySQL count 统计一个十万条数据要八十多秒?

SELECT count(*) FROM `order`;

SELECT count(order_sn) FROM `order`;

这两种都是八十秒,为什么这么慢,才 166388 条数据, order_sn 是主键


SELECT count(*) FROM `order` WHERE created_time < NOW();

SELECT count(*) FROM `order` 

很奇怪,加一个 WHERE created_time < NOW() 这个条件不到一秒,为什么加一个条件还要更快?

阅读 3.8k
2 个回答

怀疑你真的加了主键了没,后面加 where 查询变快可能是前面的慢查询后有了缓存

show create table orderexplain SELECT count(*) FROM order 检查一下

新手上路,请多包涵

设备软硬件有问题,这应该和MySQL没啥关系,你自己编程逐行遍历都不用这么久

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