2020-10-01MySQL

MYISAM存储引擎(非聚集索引)

非聚集索引:索引跟数据分开在不同的文件存储   

聚集索引:索引跟数据在同一个文件存储

聚簇索引==聚集索引                   稀疏索引==非聚集索引

聚集索引根据索引找到文件所对应位置 的指针 再根据指针找到对应的文件数据  聚集索引找到索引元素以后直接在当前文件load数据就可以了。聚集索引只再一个文件里查找 效率可能比非聚集索引效率更高。

.frm存储表结构文件

,mym存储的是索引文件

.MYD存储的是数据

innoDB

InnoDB数据索引实现

  • 表数据文件本身就是B+树组织的一个索引结构文件
  • 聚集索引-->叶节点包含了完整的数据记录
  • 为什么InnoDB表必须有主键,并且推荐使用整型的自增主键?

      -->MySQL在开发InnoDB表底层存储引擎的时候,这张表的数据必须要有一个B+树的索引来组织,一般来说我们都是用主键这样的B+树来组织我们的数据,如果不建逐渐的话,MySQL会帮你选择一个字段(不重复的字段)作为主键,作为主键索引。用这个主键来维护整张表里面的所有的数据。如果找不到主键字段  会在后台建立一个隐藏列,隐藏列可能是整型的,他来帮你去维护这些数据。(MySQL帮你维护一个唯一索引的隐藏列,用这个隐藏列来帮你组织整张表的所有数据)   整型数据比较大小比字符串方便。非自增的索引插入的时候很麻烦,节点可能会分裂以维持平衡。

  • 为什么非主键索引结构叶子结点存储的是主键值(一致性和节省存储空间)?

.frm表结构

.ibd索引和数据

B树和B+树的区别:(B+树的指针是双向的)

 

Bin log 日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值