索引能讓查詢變快,這是每個工程師都知道的常識。但當一位 資料庫管理員 被問到「你看過最常見的效能問題是什麼」,他想都沒想就回答:亂加索引。
索引不是免費的。每多一個索引,寫入就要多更新一份資料,維護成本會累積在每一次 寫入 和 更新 上。大量索引的表,寫入效能會明顯下降,這在交易系統上尤其致命。
更常見的錯誤是:索引建了,但查詢條件寫不對,結果執行計畫根本沒用到。使用 執行計畫 查看實際走了哪條路徑,是每個寫 結構化查詢語言 的人都該養成的習慣。
他的建議是:先用 執行計畫 找出問題,再決定要不要加索引;加了之後再跑一次 執行計畫 確認。沒有量測的調校,只是玄學。

發佈留言