一个有100多万条数据的表该如何统计数据总量 例如:select count(0) from table1 where datatime > '2012-07-09 00:00:00';随着数据量的变多,花费的时间会变长有没有什么方法查找100万条数据的总量和查找10万条数据总量所花费的时间差不多 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 count难于优化,从硬件方面想想办法 count没有办法优化。datetime是否有索引。 唯一的方法就是添加索引 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'; 结果以供分析。 +----+-------------+-------+-------+---------------+--------------+---------+------+------+--------------------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-------+-------+---------------+--------------+---------+------+------+--------------------------+| 1 | SIMPLE | con_1 | range | datatime | datatime | 4 | NULL | 189292 | Using where; Using index |+----+-------------+-------+-------+---------------+--------------+---------+------+------+--------------------------+1 row in set (0.07 sec)还有其他的表用同样的语句,随着数据的变多,花费的时间也会变长 1 row in set (0.07 sec);时间是不长,但是我发现随着数据的变多,查询时间也会变长另外,用于网站的数据库查询一般能承受的最长查询时间是多少,不会影响用户体验?? 比较datetime要求的粒度是多细?如果比较datetime的粒度是天,那可以把每天的记录数(在定期在低峰期跑PHP脚本之类的)预先统计好放到一张表里,在用户查询的时候,直接从这张表里取数据 。 急!MySQL创建触发器实现统一主机下两个数据库的表双向同步 MYSQL配置的问题 【求帮助】MYSQL学习 随机抽样 sql语句报错(急,在线等!求达人速答!谢谢!) 中国首部中文版MySQL5新特性之存储过程技术手册,www.hudu.net独家发布 mysql数据筛选 问一个连接查询的问题 大神帮个忙 看一个mysql查询 SQLyog连接mysql错误号2003 求助关于查询时间的问题 mysql求最大值问题??急
---+------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+-------+---------------+--------------+---------+---
---+------+--------------------------+
| 1 | SIMPLE | con_1 | range | datatime | datatime | 4 | NULL | 189292 | Using where; Using index |
+----+-------------+-------+-------+---------------+--------------+---------+---
---+------+--------------------------+
1 row in set (0.07 sec)还有其他的表用同样的语句,随着数据的变多,花费的时间也会变长
1 row in set (0.07 sec);时间是不长,但是我发现随着数据的变多,查询时间也会变长另外,用于网站的数据库查询一般能承受的最长查询时间是多少,不会影响用户体验??
如果比较datetime的粒度是天,那可以把每天的记录数(在定期在低峰期跑PHP脚本之类的)预先统计好放到一张表里,在用户查询的时候,直接从这张表里取数据 。