一般大家添加索引時都考慮些什么?我一般添加索引就是where子句查詢幾個字段,哪些字段,就添加什么索引。
1 回答

慕運維8079593
TA貢獻1876條經(jīng)驗 獲得超5個贊
where條件有什么字段就加什么索引,就有點盲目了。關于索引設計已經(jīng)有幾本書了,三言兩語說不清,列舉幾點:
1.考慮列值分布,如果選擇性不好,那么建索引很有可能不起效,只會增加DML開銷;
2.覆蓋索引,避免回表,直接從索引取得查詢結果,就是你的做法,但如果每一個SQL都給它建覆蓋索引,要考慮一下過多索引給DML帶來的壓力,以及索引的冗余;
3.注意頻繁更新的表,索引不宜過多;
4.根據(jù)表數(shù)據(jù)量和執(zhí)行計劃來設計索引
...
建了索引之后,也應該注意SQL的寫法是否導致了索引失效,例如類型不匹配,索引列做函數(shù)處理或運算,%前綴通配,沒包含多列索引的前導列等等。
添加回答
舉報
0/150
提交
取消