MySQL索引简述

  • MySQL索引简述

什么是索引:为了使存储引擎快速找到记录的一种数据结构。

  • 索引的类型

1.主键索引(PRMARY KEY):不允许有空值,不允许重复,主键默认索引
2.唯一索引(UNIQUE):允许空值,不允许重复,唯一性
3.普通索引(INDEX):基本索引
4.组合索引(INDEX):可包含多列,避免回表查询
5.全文索引(FULLTEXT):面向字段全部内容,特殊实现引擎

  • 索引的使用

1.查看:show index from 表名;

2.使用:ALTER TABLE 表名 ADD (索引类型) 默认INDEX 定义索引名称(字段名称)

  • 索引的优缺点

优点:减少服务器扫描数据量,提高效率,避免排序

缺点:降低更新表的速度(INSERT,UPDATE,DELETE) 因为更新包括数据和索引,占用空间 30%原则

  • 索引的设计原则

1.适合索引的表列出现在where子句中

2.更新字段频繁,不宜索引,数据比例在30%上,优化器不会选择索引

3.组合索引具有全局性

4.多表关联保证关键字上有索引

  • 索引存储类型

InnoDB引擎使用的B+Tree(Mysql8.0默认使用)

  • 索引的优化

1.使用情况优化:(1).前导模糊索引失效,使前导出现 (2).复合索引条件必须包含最左字段,否则索引失效,建议使用in,其次:union/in/or 如果or为复合索引的连接,必须全有索引,否则失效 (3).负向条件索引失效,改为正向索引,(4).MySQL评估索引慢于全部检索,弃用索引(30%原则) (5). 数据库执行计算或函数不会命中索引

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值