學會MySQL索引

就一塊兒來聊一聊MySQL索引。

什麼是索引?

百度百科是這樣描述的:數據庫

索引是爲來加速對錶中數據行中的檢索而建立的一種分散的數據結果,時針對錶而創建的,它是由數據頁面之外的索引頁面組成,每一個索引頁中的行都含有邏輯指針,以便加速檢索物理數據spa

其實,索引的概念你們都很清楚,也知道索引可以提高查詢效率,但大部分童鞋在怎麼建索引,建在哪些字段上有如下常見誤解:指針

  • 新建表時不須要建索引,後續才添加索引索引

  • where條件後的字段均建索引效率

  • 簡單SQL不須要索引,聯合查詢才須要索引百度

  • 聯合索引的順序是where條件後字段的前後順序數據

  • 對於區分度小的字段上也新建索引,如狀態,性別等字段等。查詢

索引區分度

在說上述問題以前,咱們先來看看另外一個概念,就是區分度。block

區分度: 指字段在數據庫中的不重複比去重

區分度在新建索引時有着很是重要的參考價值,在MySQL中,區分度的計算規則以下:

字段去重後的總數與全表總記錄數的商。

相關文章
相關標籤/搜索