MySQL 索引

MySQL 索引

作用

加快检索,类似于字典。

结构

B+Tree

hash

类型

普通索引,唯一索引

主键索引

聚簇索引,非聚簇索引

组合索引

说明:创建索引时,可指定索引列的长度,即只对列的前4个字符建立索引

create index 索引名 on 表名 (列名[长度])

缺点

  1. 需要额外空间存储
  2. 增删、索引列更新时,会索引更新,产生额外磁盘IO

建索引注意事项

  1. 避免索引列做计算/函数处理:优化器将不走索引,而会做全表扫描
  2. 避免索引列比较符 <>, !=
  3. 避免索引列比较符 is null, is not null
  4. 避免索引列比较符 in, not in
  5. 避免隐式类型转换

注意: or, like, 复合索引

or, 左右两边都建立索引才会查索引(图1为id和dept_id都存在索引的执行计划,图2为删除dept_id索引的执行计划)

like ‘%过滤’, %位于开头不走索引

复合索引时,按照定义执行列编写sql,如create idnex idx_1 on user (col1, col2);执行查询时select * from user where col1 < 100 and col2 <100;将走索引,而where col2 < 100 and col1 < 100;强不走索引
在这里插入图片描述
在这里插入图片描述

参考

https://crazyfzw.github.io/2018/07/18/RDBMS-INDEX/

https://www.cnblogs.com/yunfeifei/p/3850440.html

https://www.w3school.com.cn/sql/sql_create_index.asp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值