文章詳情頁
php - 關于mysql數據庫加索引的一些疑問
瀏覽:93日期:2022-06-10 17:10:24
問題描述
關于mysql索引的一些疑問,查閱了很多資料,說的都很模糊,有幾種類型的索引不知道怎么加:1.groupby的索引要怎么加?單獨的加一個索引還是和搜索條件加在一起?2.有LEFT JOIN的查詢索引要怎么加,例如
SELECT a.id,FROM aLEFT JOIN bON a.id = b.aidWHERE a.year = 1 AND b.month = 2GROUP BY b.aORDER BY a DESC
3.像有
SELECT a.id,SUM(a.q+a.w) as day_pv FROM aORDER BY day_pv DESC
這樣的索引要怎么加?
關于索引以及mysql語句優化方面的東西很薄弱。
或者有什么相關的文章或書籍可以推薦的
問題解答
回答1:mysql復合索引與普通索引總結
書籍呢:高性能的mysql(第三版) 索引部分,淘寶那幫翻譯的那部
回答2:建索引主要根據表的查詢條件,原則上找數據可選性高的字段創建索引,如人員id、姓名等,根據這樣的條件可以大大縮小查詢結果集。
回答3:高性能mysql第三版,第五章,專門講解創建高性能的索引,索引主要是針對表的不同查詢字段建立的,為了縮短查詢時間,提高性能
回答4:一般用于排序的字段要加上B-樹索引,where的字段需要加上索引,多條件的需要組合索引,索引順序要與條件符合
上一條:mysql - 現在已經使用CommandArgument取到t_ID的值,現在還想取t_Name的值一起放到cs文件中的sql語句中該怎么做下一條:MySQL 如何 SELECT 除去某一列的所有列?
相關文章:
1. 將SQLServer數據同步到MySQL 用什么方法?2. 為什么我ping不通我的docker容器呢???3. android - webview 自定義加載進度條4. docker安裝后出現Cannot connect to the Docker daemon.5. numpy - python [:,2][:,None]是什么意思6. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請求)7. 并發模型 - python將進程池放在裝飾器里為什么不生效也沒報錯8. javascript - 微信小程序限制加載個數9. javascript - 微信音樂分享10. python 怎樣用pickle保存類的實例?
排行榜
