一个有100多万条数据的表该怎么统计数据总量

一个有100多万条数据的表该如何统计数据总量

例如:

select count(0) from table1 where datatime > ‘2012-07-09 00:00:00’;

随着数据量的变多,花费的时间会变长

有没有什么方法查找100万条数据的总量和查找10万条数据总量所花费的时间差不多



count难于优化,从硬件方面想想办法




唯一的方法就是添加索引 datatime




如果仅是 select count(0) from table1 where datatime > ‘2012-07-09 00:00:00’; ,在DATETIME上有索引的情况下应该不会太慢。

贴出你的 explain select count(0) from table1 where datatime > ‘2012-07-09 00:00:00’; 结果以供分析。




0.5s 以内应该问题不大。




比较datetime要求的粒度是多细?

如果比较datetime的粒度是天,那可以把每天的记录数(在定期在低峰期跑PHP脚本之类的)预先统计好放到一张表里,在用户查询的时候,直接从这张表里取数据 。

一个有100多万条数据的表该怎么统计数据总量

相关文章:

你感兴趣的文章:

标签云: