MySQL InnoDB 和 MyISAM

MyISAM引擎和InnoDB引擎的区别

      (1)存储空间:MyISAM可以被压缩,存储空间比较小;InnoDB需要较多内存和存储,它会在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。

      (2)文件格式:MyISAM数据和索引是分开存储的,数据是.MYD格式,索引是.MYI格式;InnoDB是集中存储的,格式是.ibd。

      (3)记录存储顺序:MyISAM按照记录插入顺序保存;InnoDB按照主键大小有序存储。

      (4)外键:   MyISAM不支持外键;InnoDB支持外键。

      (5)事务:   MyISAM不支持事务;InnoDB支持事务。

      (6)锁机制:MyISAM是表级锁定;InnoDB是行级锁定和表级锁定都支持,锁定粒度更小,并发能力更高。

      (7)增删改查:对于SELECT,MyISAM更优;对于INSERT、UPDATE、DELETE,InnoDB更优。

      (8)索引实现方式:两者都是B+树索引,MyISAM是堆表;InnoDB是索引组织表。

      (9)哈希索引:MyISAM不支持;InnoDB支持。

      (10)全文索引:MyISAM支持;InnoDB不支持。

MyISAM索引和InnoDB索引的区别

      (1)MyISAM是非聚簇索引;InnoDB是聚簇索引。

      (2)MyISAM索引的叶子节点存储行数据地址,需要寻址一次才能得到数据。

      (3)InnoDB主键索引的叶子节点存储行数据,所以主键索引比较高效。

      (4)InnoDB非主键索引的叶子节点存储主键和其他带索引的列数据,因此查询时做到覆盖索引会比较高效。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值