MySQL索引

一、索引作用

1、快速定位,目录的作用
2、唯一索引进行唯一约束

二、索引分类

1、普通索引:一般的索引,没有什么特殊
2、唯一索引:唯一性约束,不允许其中任何两行具有相同索引值的索引,一个表可有多个唯一索引
3、主键索引:唯一性约束,主键,一个表只有一个主键索引
4、组合索引:多个字段组合而成的索引

三、索引实现

1、B-Tree:平衡多路查找树,每个节点上都有一个或多个键和数据
注:实际采用B+树实现,与B树区别在于,非叶子结点只存一个或多个键值,所有的数据都存在叶子结点上,详见:B树与B+树实现原理
2、Hash:对索引字段进行hash,value存储数据
3、Full-Text:全文索引以词为基础的,只能加在char、varchar和text的字段上,用于like对前缀匹配场景
4、R-Tree:一种空间搜索的动态索引结构

四、索引失效情况

1、条件中有or
2、like中“%”在前
3、使用 <> 、not in 、not exist、!=
4、使用内部函数
5、对索引列进行运算
6、隐式转换
7、单独引用复合索引里非第一位置的索引列
8、字符型索引字段,未使用括号将数据括起来
9、当全表扫描比使用索引更快时

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值