文章詳情頁
php - 關于mysql數據庫加索引的一些疑問
瀏覽:75日期: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. 我的html頁面一提交,網頁便顯示出了我的php代碼,求問是什么原因?2. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?3. node.js - node 客戶端socket一直報錯Error: read ECONNRESET,用php的socket沒問題哈。。4. django - 后臺返回的json數據經過Base64加密,獲取時用python如何解密~!5. 老哥們求助啊6. docker 17.03 怎么配置 registry mirror ?7. tp6表單令牌8. node.js - gulp文件監聽的問題9. 如何解決docker宿主機無法訪問容器中的服務?10. javascript - canvas 可以實現 PS 魔法橡皮擦的功能嗎?
排行榜
