索引優化的精髓在於:在適當的表上、適當的列上、建立適當數量的索引。聽起來簡單,落地卻需 DBA 深入業務、持續觀測、動態調整。
如部門表僅百餘行,全表掃描極快,索引維護成本(寫入開銷、空間佔用)遠超收益。對此類表建索引屬於「過度優化」。
並非所有大表都適合建索引。若表主要存儲審計日志、極少查詢,或查詢比例超 10%-15%,全表掃描反而更快。建議:實測全表掃描 vs 索引掃描耗時,以數據說話。
案例:身份證號列雖唯一,但業務鮮用且多為 NULL,上線後成為累贅,需定期評估清理。
索引越多,查詢越快,但 DML(INSERT/UPDATE/DELETE)速度下降,因需同步維護索引結構。
通過動態視圖統計操作比例(查詢 vs 更新),動態啟用/禁用索引,尋找平衡點。
索引優化是動態過程,隨數據分佈、業務模式演變而調整。師傅領進門,修行在個人——請在實戰中不斷體會總結。