MySQL 高级 - 索引 - 索引设计原则
生活随笔
收集整理的這篇文章主要介紹了
MySQL 高级 - 索引 - 索引设计原则
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
索引設計原則
? 索引的設計可以遵循一些已有的原則,創建索引的時候請盡量考慮符合這些原則,便于提升索引的使用效率,更高效的使用索引。
-
對查詢頻次較高,且數據量比較大的表建立索引。
-
索引字段的選擇,最佳候選列應當從where子句的條件中提取,如果where子句中的組合比較多,那么應當挑選最常用、過濾效果最好的列的組合。
-
使用唯一索引,區分度越高,使用索引的效率越高。
-
索引可以有效的提升查詢數據的效率,但索引數量不是多多益善,索引越多,維護索引的代價自然也就水漲船高。對于插入、更新、刪除等DML操作比較頻繁的表來說,索引過多,會引入相當高的維護代價,降低DML操作的效率,增加相應操作的時間消耗。另外索引過多的話,MySQL也會犯選擇困難病,雖然最終仍然會找到一個可用的索引,但無疑提高了選擇的代價。
-
使用短索引,索引創建之后也是使用硬盤來存儲的,因此提升索引訪問的I/O效率,也可以提升總體的訪問效率。假如構成索引的字段總長度比較短,那么在給定大小的存儲塊內可以存儲更多的索引值,相應的可以有效的提升MySQL訪問索引的I/O效率。
-
利用最左前綴,N個列組合而成的組合索引,那么相當于是創建了N個索引,如果查詢時where子句中使用了組成該索引的前幾個字段,那么這條查詢SQL可以利用組合索引來提升查詢效率。
總結
以上是生活随笔為你收集整理的MySQL 高级 - 索引 - 索引设计原则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL 高级 - 索引 - 索引语法
- 下一篇: MySQL 高级 - 视图 - 概述