为什么innoDB这么受欢迎?

1、innoDB的优点
支持事务

     InnoDB支持ACID(原子性、一致性、隔离性、持久性)事务当一个事务被提交时,要么完全执行,要么完全回滚,这种机制保证了数据的一致性,并且可以大大降低数据丢失或者损坏的风险

行级锁

只有正在被修改的行会被锁定,而其他的行或者表可以继续被访问,行锁机制可以减少锁竞争的概率,从而提高MySQL的性能和相应速度,不过修改语句必须要有索引

 并发控制

InnoDB实现多版本并发控制,也就是MVCC,最大的特点是读不加锁,读写不冲突,可以实现高并发的读写操作

高性能

   InnoDB支持缓冲池,用户发起一个查询请求时,MySQL会首先检查缓冲池中,是否已经存在该查询的结果,如果该结果在缓冲池中,就直接返回结果,而不需要到磁盘中去查找数据,如果查询结果不在缓冲池中,则需要执行查询语句,并将结果存入到缓冲池中,下次查询就可以直接查询缓冲池了,当缓冲池已满,并且需要存储新的数据时,系统会使用最少使用的数据进行淘汰,缓冲池的大小可以通过修改MySQL的配置文件中的参数进行调整,参数是innodb_buffer_pool_size这个参数也可以动态调整

show global variables like "innodb_buffer_pool_size";  

一般把这个值设置为机器内存的60%-80%

  支持热备份

  可以使用一些逻辑备份比如mysqldump,mydumper进行在线备份,不会锁表,或者使用物理备份XtraBackup都是可以在线备份,不会锁表,但是备份会消耗磁盘IO和内存,通常建议是在从库进行备份

  2、InnoDB的适用场景

  高可靠性应用程序:支持事务可以保证数据的一致性和完整性

  对并发要求高的场景:支持行级锁,并且支持MVCC,加上有缓冲池的特性,可以很好的支持高并发的场景

  数据一致性要求高的场景:因为支持事务,并且有双写的机制,所以innoDB的数据一致性是很高的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值