为什么使用InnoDB引擎 使用InnoDB的好处

  • 在服务器的硬件或软件发生问题时,可以不用管数据库发生了什么,不需要执行任何操作就可以直接重启。InnoDb的crash recovery机制会自动的完成在发生故障前的数据变更提交,不会恢复任何已经发生改变但是没有提交的数据。
  • InnoDB有它自己的buffer pool去缓存表和索引数据在主存中便于访问。频繁被访问的数据会从内存中直接获取到。缓存可以被用于很多类型的信息并且能提高处理速度。在专门用于数据库的服务器,高达80%的物理内存通常分配给buffer pool。
  • 需要外键做一些关联,实现级联更新操作。
  • 当你设计你的数据库时为每个表都设置了一个主键。当设计到这些列的操作时会自动的进行优化。在WHERE子句,ORDER BY,GROUP BY还有join操作涉及到主键时会执行的非常快。
  • insert,update,delete操作修改的数据会被优化先存储在change buffer中,等过段时间批量的写入磁盘,简化磁盘I/O,允许对同一个表进行并发的读写访问。
  • 执行优势不限于大表的长时间查询,当一个表的一个行被反复的访问,InnoDB有一个叫Adaptive Hash Index 自适应Hash索引的特性会让这些数据查询的更快,它就像hash table一样。
  • 可以压缩表和相关的索引。
  • 你可以创建和删除索引对性能和可用性的影响更小。
  • 截断每表文件的表空间非常快,可以释放磁盘空间供操作系统重用,而不是释放系统表空间中只有InnoDB可以重用的空间。
  • 在有 DYNAMIC修饰下的blog和text字段会访问的更快。
  • 可以通过查询INFORMATION_SCHEMA 表监控引擎内部执行。
  • 可以通过查询Performance Schema表监控引擎执行细节。
  • 可以混合InnoDB和其他类型的引擎进行查询操作。比如你可以使用join操作连接InnoDB和Memory表在一个查询中。
  • 在处理大数据量时能充分利用CPU的性能最大化执行效率。
  • InnoDB能处理大数据量,即便是操作系统限制文件在2G也是如此。

参考文献

 MySQL官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值