MySQL存储引擎InnoDB与MyISAM比较

MySQL存储引擎InnoDB与MyISAM比较

1.文件存储形式

InnoDB和MyISAM都存储在磁盘上,但是有着不同的文件格式。

InnoDB: .frm:存放的是表结构
.ibd:存放数据文件和索引文件,使用的是B+Tree组织的一个索引结构文件

MyISAM: .frm存放表结构
.MYI:存放索引数据
.MYD:存放实际数据

2.各种类型上的对比

2.B+树数据结构

对于InnoDB存储引擎来说,其叶子结点直接存放的是数据

注意:

  • InnoDB是通过B+树结构对主键创建索引的,然后叶子结点存放的是数据;如果没有主键,会选择唯一键作为主键;如果没有唯一键会生成一个6位的row_id来作为主键。

  • 如果创建索引的键是其他字段,那么叶子结点存放的是该记录的主键,然后在通过主键索引查找对应记录。即为回表

    回表

    如图中所示,如果以name创建索引,那么叶子结点会存放表中与name对应的主键值,在查找到主键后,再根据主键索引在进行一次查找,最后获得数据。

而对于MyISAM来说,其存放的是数据的地址,需要在.MYD文件中查找数据。

SAM来说,其存放的是数据的地址,需要在.MYD文件中查找数据。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值