mysql——索引

一、mysql索引概念

索引就像書的目錄,佔空間,但是能快速查詢。不用整本書的看。

因此索引的功能,提高查詢速率,避免全表查詢,但是索引會佔磁盤空間

 

二、索引分類

按類別分類

主鍵索引:主鍵列內容,唯一,且列不爲空

唯一索引:索引列,唯一,列可以爲空

普通索引:最基本的索引,沒有任何限制

全文索引:僅可用於 MyISAM 表,針對較大的數據,生成全文索引很耗時好空間。

 

按數量分類

單列索引:索引只包含單個列

組合索引:索引包含多個列

——爲了更多的提高mysql效率可建立組合索引,遵循”最左前綴“原則。

 

三、Mysql索引主要有兩種結構:B+樹和hash.

hash

hsah索引在mysql比較少用,他以把數據的索引以hash形式組織起來,因此當查找某一條記錄的時候,速度非常快.當時因爲是hash結構,每個鍵只對應一個值,而且是散列的方式分佈.所以他並不支持範圍查找和排序等功能.

b+tree

b+tree是mysql使用最頻繁的一個索引數據結構,數據結構以平衡樹的形式來組織,因爲是樹型結構,所以更適合用來處理排序,範圍查找等功能.相對hash索引,B+樹在查找單條記錄的速度雖然比不上hash索引,但是因爲更適合排序等操作,所以他更受用戶的歡迎.畢竟不可能只對數據庫進行單條記錄的操作. 
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章