mysql 索引优化

mysql索引是在储存引擎上实现的。不同的储存引擎支持的索引也不同。即使是同一个索引,在不同的储存引擎实现的方式也可能不相同。

mysql索引

B-Tree 最常见的索引,支持大部分储存引擎
B+Tree B-Tree的优化版,默认
Hash 适合储存Key-Value型数据,根据Key快速查询Value,不适合根据数据范围来查找数据
R-Tree 空间索引
Full-Text 全文索引

使用索引的场景

  • 全值匹配
  • 查找范围
  • 匹配最左前缀
  • 匹配索引列(联合索引的前列)
  • 查询索引值
  • 匹配字段前缀
  • 精准匹配和范围匹配
  • 匹配NULL值
  • 链接查询匹配索引
  • LIKE 不以匹配符开始时

无法使用索引的场景

  • 以通配符开始的LIKE语句
  • 数据类型转换
  • 联合索引未匹配最左列
  • OR语句 (查询条件中存在未创建索引的字段)
  • 计算索引值
  • 范围条件右侧的列无法使用索引
  • 使用<>或!=操作符匹配
  • 匹配NOT NULL
  • 索引耗时

使用索引提示

使用索引 USE INDEX 提示查询使用的索引优化器
忽略索引 IGNORE INDEX 提示查询忽略索引
强制使用 FORCE INDEX 强制使用

复杂的数据查询可以使用生成列建立索引查询,比如json数据等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的天才女友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值