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就好了