php - 關(guān)于mysql數(shù)據(jù)庫加索引的一些疑問
問題描述
關(guān)于mysql索引的一些疑問,查閱了很多資料,說的都很模糊,有幾種類型的索引不知道怎么加:1.groupby的索引要怎么加?單獨(dú)的加一個(gè)索引還是和搜索條件加在一起?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
這樣的索引要怎么加?
關(guān)于索引以及mysql語句優(yōu)化方面的東西很薄弱。
或者有什么相關(guān)的文章或書籍可以推薦的
問題解答
回答1:mysql復(fù)合索引與普通索引總結(jié)
書籍呢:高性能的mysql(第三版) 索引部分,淘寶那幫翻譯的那部
回答2:建索引主要根據(jù)表的查詢條件,原則上找數(shù)據(jù)可選性高的字段創(chuàng)建索引,如人員id、姓名等,根據(jù)這樣的條件可以大大縮小查詢結(jié)果集。
回答3:高性能mysql第三版,第五章,專門講解創(chuàng)建高性能的索引,索引主要是針對(duì)表的不同查詢字段建立的,為了縮短查詢時(shí)間,提高性能
回答4:一般用于排序的字段要加上B-樹索引,where的字段需要加上索引,多條件的需要組合索引,索引順序要與條件符合
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. css3 - 圖片等比例縮放3. html - css3中多列高度 統(tǒng)一4. javascript - 使用angular 的ui-sref 中出現(xiàn)了中文參數(shù),點(diǎn)擊跳轉(zhuǎn)后瀏覽器的地址欄里出現(xiàn)轉(zhuǎn)義后的%AE....%a%45. css3 - 如何將網(wǎng)頁CSS背景圖高斯模糊且全屏顯示6. javascript - 一個(gè)賦值運(yùn)算的問題7. css3 - animation屬性,safari瀏覽器不支持相關(guān)效果8. javascript - 求賜教:網(wǎng)易郵箱Web端模擬登錄看信的加密參數(shù)_ntes_nnid、_ntes_nuid9. css - jq有無現(xiàn)成函數(shù)改變r(jià)otateX/Y的deg10. javascript - QWebEngineView 如何爬 angular 的動(dòng)態(tài)數(shù)據(jù)?
