想要優(yōu)化一句關于group by語句,不知道要從何下手,求思路
SELECT
adv_id,
network_id,
SUM(re_click) AS clk,
SUM(deny_click) AS dny_clk,
SUM(re_conver) AS re_ins,
SUM(mat_conver) AS mat_ins,
SUM(def_conver) AS def,
SUM(cost) AS cost,
SUM(earn) AS earn
FROM ams_data_hourly_2018_03 WHERE start_time BETWEEN 1519862400 AND 1519948799 GROUP BY
adv_id,
network_id
explain:
索引:
求大神指點
4 回答

慕容708150
TA貢獻1831條經(jīng)驗 獲得超4個贊
1、時間檢索結果集小的話就一個start_time單列索引就夠了,force一下索引,因為group by會引導mysql走group by字段的索引或者直接全掃。
2、看表名,你這應該是一個分表,如果時間范圍直接覆蓋了大部分表數(shù)據(jù)的話什么索引都不用了,全表掃吧,什么三個字段兩個字段加索引并沒有什么用,時間范圍加group by字段的復合索引也只用到了時間字段,只有group by字段的索引就是掃了全表,除非用索引覆蓋
- 4 回答
- 0 關注
- 907 瀏覽
添加回答
舉報
0/150
提交
取消