select a,sum(b) from c GROUP BY a;
select a from c;
假設c表資料量上百萬,那要怎麼優化這2個數據,讓執行更快。
謝謝了
三叔2017-06-14 10:52:39
沒辦法從索引上最佳化,你使用group by 而且沒有設定where條件,mysql已經全表讀取。而且假如是上百萬的數據,個人不主張在表中直接用sum去統計每個a的總數。建議優化是這樣的。
1.建立定時任務和臨時表、統計表
2.定時讀取一定量的數據,將那段數據統計信息記錄到統計表中,將獲取一定量數據的最後一個id值作為記錄,寫入臨時表。下次讀取時候以該id最為條件。
這樣分段統計,可以滿足你兩個最佳化條件