MySQL中两种引擎的简单比较

MySQL中存在两种引擎:MyISAM和Innodb。

其中MyISAM是MySQL默认的引擎,它不支持事物操作,而且也不支持行级锁及外键。因此,当写操作较多时(如insert或者update),由于锁定了整个表,所以效率会低一些。MyISAM中存储了表的行数,当进行SELECT COUNT(*) FROM TABLE时不需要全表扫描,只需要直接读取即可。

和MyISAM不同的是,Innodb提供了数据库事物的支持,并且提供了行级锁和外键约束。MySQL运行时Innodb会在内存中建立索引池,用于缓冲数据和索引。不过Innodb不支持全文索引,启动速度较慢,并且不保存表的行数。Innodb在并发下效率较高。

以下是关于二者的比较

对比项MyISAMInnodb
事物不支持支持
主外键不支持支持
行表锁表锁行锁
缓存只缓存索引,不缓存真实数据不仅缓存索引,还缓存真实数据
表空间
全文索引支持不支持
关注点性能事物
应用场景管理非事物表,提供高速存储和检索以及全文搜索的能力,有大量的select操作事物处理,有大量的insert和update操作,并发下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值