1. 程式人生 > 其它 >MySQL選擇合適的索引列順序

MySQL選擇合適的索引列順序

當不需要考慮排序和分組時,將選擇性最高的列放在前面通常是很好的

只用於優化where條件的查詢,能夠最快得過濾出需要的行,對於在where子句中只使用了索引部分字首列查詢選擇性更高

建立索引需要怎麼建立,需要現確定哪個列選擇性更高

經驗法則考慮的是全域性基數和選擇性

所以選擇將customer_id索引列放在第一列

選擇性和基數經驗法則值得研究分析,但是在where子句中的排序、分組和範圍條件等其他因素,可能會對查詢效能差生很大影響

案例

mysql為這個查詢徐州呢了索引(groupId,userId),如果不考慮基數很合理,但檢視一下userId和groupId匹配的行

groupId幾乎滿足標中所有行,索引基本上沒什麼用,需要修改應用程式程式碼,區分這類特殊使用者和組,禁止針對這類使用者和組進行查詢

論讀書
睜開眼,書在面前
閉上眼,書在心裡