innodb和myisam的区别

在数据库中,我们一般常用的存储引擎有innodb和myisam。

区别:

1.InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID(原子性、一致性、持久性、隔离性)。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能。
MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。如果应用中需要执行大量的SELECT查询,那么MyISAM是更好的选择
隔离级别:
(1)读未提交(read uncommitted):可以读取其他 session 未提交的脏数据。
(2)读已提交(read committed):允许不可重复读取,但不允许脏读取。提交后,其他会话可以看到提交的数据。
(3)可重复读(repeatable read):禁止不可重复读取和脏读取、以及幻读(innodb 独有)。
(4)串行(serializable):事务只能一个接着一个地执行,但不能并发执行。事务隔离级别最高
不同的隔离级别有不同的现象,并有不同的锁定/并发机制,隔离级别越高,数据库的并发性就越差
2.InnoDB支持外键,而MyISAM不支持。
3.Innodb不支持全文索引,而MyISAM支持全文索引,查询效率上MyISAM要高;
4.innodb更加适合写入操作,myisam更加适合读取操作

如何选择

. MySQL5.5版本开始Innodb已经成为Mysql的默认引擎(之前是MyISAM),说明其优势是有目共睹的,如果你不知道用什么,那就用InnoDB,至少不会差。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值