文章詳情頁
mysql - 請問這條sql如何加索引優化?
瀏覽:112日期:2022-06-16 14:44:55
問題描述
請問這條sql如何加索引優化?
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;
說明:數據表始終只有一個月的數據,每天會定時清除一個月之前的數據。具體場景就不說明了。這條sql對現在影響也不大,查詢的數據結果會放redis緩存,不是頻繁查詢,查詢耗時1s左右,只是想如何更好優化這個sql.
問題解答
回答1:索引的話你需要在 排序和條件上加索引,但是你的total是sum出來的索引沒法加。。。。那你只能在time上加索引
回答2:userid 是主鍵把,單看這一句sql,只需要userid這個主鍵就可以了
給time加索引運行的時候浪費內存,感覺利大于弊
coin使用了函數,加索引沒意義
回答3:從性能角度看,應該創建一個索引,字段順序為time,userid,coin這樣數據庫僅從索引盡可以執行這個sql語句
另外,建議附上執行計劃,以及表的總數量、每天數據量等數據,方便其他人進行分析。
上一條:Mysql 事務問題下一條:MySQL數據庫服務器循環插入執行速度慢
相關文章:
1. mysql - 面試題:如何把login_log表轉換成last_login表?2. html5 - iphone5手機,微信中無法打開優酷鏈接?3. javascript - 為什么嵌套的Promise不能按預期捕獲Exception?4. javascript - nodejs實現異步時遇到的一個問題5. 剛放到服務器的項目出現這中錯誤,有高手指點嗎6. apache - 想把之前寫的單機版 windows 軟件改成網絡版,讓每個用戶可以注冊并登錄。類似 qq 的登陸,怎么架設服務器呢?7. javascript - 編程,算法的問題8. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現靈異動畫問題,求解決9. python 操作mysql如何經量防止自己的程序在之后被惡意注入(說白了就是問一下python防注入的一些要點)10. css - 手機qq打開網頁無法使用文件上傳功能?
排行榜
