MySQL索引類型之哈希索引介紹

Time:2021/06/27 11:39:24   Click:

哈希索引(Hash index)基于哈希表實現,隻有精确匹配索引的所有列的查詢才生效。對(duì)于每一行數據,存儲引擎都(dōu)會(huì)對(duì)所有的索引列計算一個哈希碼(hash code),哈希碼是一個比較小的值,所有的列計算出來的哈希碼也不一樣(yàng)。哈希索引將(jiāng)所有的哈希碼存儲在索引中,同時(shí)在哈希表中保存指向(xiàng)每個數據行的指針。


在MySQL中,隻有Memory引擎支持哈希索引。這(zhè)也是Memory引擎的默認索引類型,Memory引擎同時(shí)也支持B-Tree索引。因爲索引隻包括哈希值和指針,索引存儲結構十分緊湊,這(zhè)也讓哈希索引查找的速度非常快。然而,哈希索引也有它的限制:

1、哈希索引的數據并不是按照索引字的順序存儲的,所以就(jiù)無法排序。

2、哈希索引不支持匹配查找,因爲哈希值是全部内容計算出來的。

3、哈希索引不存儲字段的值,所以不能(néng)所以所以中的值來避免讀取行。

4、哈希索引隻支持等值比較查詢,包括=,IN(),

5、如果索引的數據不同,那麼(me)查詢的速度比較快。如果相同的比較對(duì),速度就(jiù)相應的邊慢。


TOP

錦江區聚格樂享網絡工作室@2012 版權所有
蜀ICP備12016524号-2

立即咨詢
成(chéng)都(dōu)網站建設,成(chéng)都(dōu)做網站,錦江區聚格樂享網絡工作室
40f13d50b73e104f832ed1b719ae6935