成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

mysql - 請問這條sql如何加索引優(yōu)化?

瀏覽:126日期:2022-06-16 14:44:55

問題描述

請問這條sql如何加索引優(yōu)化?

select userid,sum(coin) as total from jiuwo_gift.user_consume where time >= ’2016-11-07 20:47:27’ group by userid order by total desc limit 10;

說明:數(shù)據(jù)表始終只有一個月的數(shù)據(jù),每天會定時清除一個月之前的數(shù)據(jù)。具體場景就不說明了。這條sql對現(xiàn)在影響也不大,查詢的數(shù)據(jù)結果會放redis緩存,不是頻繁查詢,查詢耗時1s左右,只是想如何更好優(yōu)化這個sql.

問題解答

回答1:

索引的話你需要在 排序和條件上加索引,但是你的total是sum出來的索引沒法加。。。。那你只能在time上加索引

回答2:

userid 是主鍵把,單看這一句sql,只需要userid這個主鍵就可以了

給time加索引運行的時候浪費內存,感覺利大于弊

coin使用了函數(shù),加索引沒意義

回答3:

從性能角度看,應該創(chuàng)建一個索引,字段順序為time,userid,coin這樣數(shù)據(jù)庫僅從索引盡可以執(zhí)行這個sql語句

另外,建議附上執(zhí)行計劃,以及表的總數(shù)量、每天數(shù)據(jù)量等數(shù)據(jù),方便其他人進行分析。

相關文章: