Mysql索引

    xiaoxiao2021-03-25  146

    索引分为 B-tree索引 特点: 1、可以进行全值匹配查找 2、可以进行最左匹配查找 3、可以进行列前缀匹配(联合索引,只能是最左列) 4、匹配范围查找 5、精确匹配一列,另一列范围查找(联合索引要注意索引顺序) 限制: 1、对于联合索引,如果不是按照列的最左列开始查找,则无法使用索引 2、对于联合索引,不能跳过索引中的列 3、对于联合索引,如果查询中有某个列的范围查询,则其右边所有列都无法使用索引优化 哈希索引 特点: 1、只能当精确匹配索引所有列才能起作用 2、哈希索引就行将所有索引列的值进行哈希取值,然后将值指向数据行 限制: 1、哈希索引只包含哈希值和行指针,而不存储字段值,所以无法进行索引覆盖查询 2、哈希索引行数据不是按照哈希值顺序存储的,所以无法用于排序 3、哈希索引不支持部分索引列匹配查找 4、哈希索引只支持等值比较查询 5、哈希索引非常快,但是当出现哈希冲突之后,存储引擎会遍历链表中所有的行指针 6、哈希索引如果冲突很严重的话,会导致索引维护操作的代价很高 注释:Innodb存储引擎采用自适应哈希索引,统计索引的访问次数,对于访问次数多的索引,则在索引上层建立哈希索引。 三星索引 1、索引将相关记录放在一起属于一星 2、索引中数据顺序和查找中的排列顺序一致属于二星 3、索引中包含了全部要查找的列属于三星

    转载请注明原文地址: https://ju.6miu.com/read-8124.html

    最新回复(0)