84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
1、100万多条数据,求count 速度超慢,请大神看下该怎么优化下
2、代码:
SELECT COUNT(*) FROM `score` INNER JOIN `users` ON ( `score`.`UID` = `users`.`UID` ) WHERE (`score`.`Score` >= 10) AND (`score`.`Score` <= 81);
3、索引
user表
走同样的路,发现不同的人生
count(id) 不要 count(*)
你是左联了1个表,建议给UID加索引
统计为什么要内联表呢,如果要分组使用group by UID不是更好么
语句简单,索引正常,不应该慢,可以通过explain + 语句 把执行计划贴出来看看。另外users表结构也贴下,如果UID是users表的主键的话,则可以去掉表的连接
没看出连表的必要性,你只要统计分数段的数据数量,没看出和user表有什么不关系,直接单表count就好了
count(id) 不要 count(*)
你是左联了1个表,建议给UID加索引
统计为什么要内联表呢,如果要分组使用group by UID不是更好么
语句简单,索引正常,不应该慢,可以通过explain + 语句 把执行计划贴出来看看。
另外users表结构也贴下,如果UID是users表的主键的话,则可以去掉表的连接
没看出连表的必要性,你只要统计分数段的数据数量,没看出和user表有什么不关系,直接单表count就好了