MySQL索引(二)——聚集索引以及联合索引
MySQL索引(二)——索引概念及索引数据结构
Hash表
在数据库中也有hash的数据结构
存储一条数据的方法还是通过hash映射,找到数据在hash数组中的位置然后找到查询的数据,然后通过Key-Value的形式来获得当前查询数据在磁盘中的地址,然后找到对应的数据返回。
优点:
在查询数据的时候只需将关键字进心一次hash运算便可以找到所要查找的信息的位置,从特定查找的角度来说,其查询速度比B+Tree还要高,但是缺点就是不适用与范围查询。
聚集索引和非聚集索引
总结:聚集索引和非聚集索引的区别就是,聚集索引B+Tree存储的是索引数据以及这一列的数据,而非聚集索引就是在叶子节点存储的是当前数据数据的磁盘地址,需要通过磁盘地址去磁盘上面取得数据。
聚集索引
非聚集索引
联合索引
总结:就是通过几个查询条件建立出来的索引
例:
KEY 联合索引
(name
,age
,position
)
将name,age,position三个字段建立一个联合索引