搜索

首页  >  问答  >  正文

c# - mysql 查询优化 ?

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表

怪我咯怪我咯2748 天前735

全部回复(5)我来回复

  • phpcn_u1582

    phpcn_u15822017-05-18 10:53:56

    count(id) 不要 count(*)

    回复
    0
  • 黄舟

    黄舟2017-05-18 10:53:56

    你是左联了1个表,建议给UID加索引

    回复
    0
  • 世界只因有你

    世界只因有你2017-05-18 10:53:56

    统计为什么要内联表呢,如果要分组使用group by UID不是更好么

    回复
    0
  • ringa_lee

    ringa_lee2017-05-18 10:53:56

    语句简单,索引正常,不应该慢,可以通过explain + 语句 把执行计划贴出来看看。
    另外users表结构也贴下,如果UID是users表的主键的话,则可以去掉表的连接

    回复
    0
  • 为情所困

    为情所困2017-05-18 10:53:56

    没看出连表的必要性,你只要统计分数段的数据数量,没看出和user表有什么不关系,直接单表count就好了

    回复
    0
  • 取消回复