Mysql——引擎、索引、事务、锁

在这里插入图片描述

零、Mysql数据表的类型

在这里插入图片描述

一、索引

1.索引的概念

索引是帮助MySQL高效获取数据的 排好序 的数据结构。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。
索引的作用:更加快速的检索到需要的数据

注意:
1)Mysql默认引擎使用innodb,索引和数据都保存在本地同一文件。
2)索引的效率问题:为了提高数据检索效率,但是修改索引字段,插入删除数据效率低。

2.索引的原理——B+树
1)B+树的概念

一个 m 阶 B+ 树的性质:

  • 有 K 个子树的根节点和中间节点包含 K 个元素(B 树种是 K-1 个元素),每个元素不保存数据,只用来索引,所有的数据都保存在叶子节点上
  • 所有的叶子节点包含了所有的元素的信息,且所有的叶子节点根据元素的大小从小到大组成一个链表
  • 根节点以及所有的中间节点同时在于子节点,在子节点中是最大(或最小)元素
    在这里插入图片描述
2)为什么选B+树

①InnoDB使用的B+Tree作为索引原因如下:

  • 如何减少获取数据的时间 —-> 减少 IO 操作 ——> 如何减少 IO 操作 —> 减少树的高度 —> 什么树能稳定的可控树的高度 —>(B 树和 B+ 树)—> 那为什么选择 B+ 树 —–> 因为 B+ 树节点不保存全部数据,因此在一页(一个节点)上能够存更加多的索引数据,让树的高度更低。

对于组合索引

  • B+tree 索引是按照索引列名 (从左到右的顺序) 进行顺序排序的,因此可以将随机 IO 转换为顺序 IO 提升 IO 效率;并且可以支持 order by/group 等排序需求;适合范围查询。
3.索引的使用
1)主键索引——primary key
  • 唯一的标识,主键不可重复,只能有一个列作为主键。建表时只能有一个。
2)唯一索引——unique
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值