搜尋

首頁  >  問答  >  主體

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表

怪我咯怪我咯2779 天前766

全部回覆(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
  • 取消回覆