mysql innodb myisam 插入数据_mysql innodb换成myisam后插入数据变快?

myisam没有事务支持,它的连续的插入和查询速度都比Innodb快很多,但是如果需要插入和查询穿插着来,那么myisam是表锁,innodb是行锁,innodb的并发性好,并且innodb是支持事务的

innodb在插入数据的时候需要维护表级缓存,myisam只需要维护索引(文件级offset定位数据行,不需要缓存表)

innodb在插入和查询的时候需要维护mvcc

innodb在插入时维护主外键关系等

innodb因为提供了事务支持和表级锁的支持,维护成本比myisam高很多

也就是说,如果读写,一半一半,平均,且考虑并发和事务的要求使用innodb

如果读多写少,或者写多读少,比如题库表(读多写少),或者日志表(写多读少),而且不是需要事务的情况下(题库修改很少,极少出现事务并发问题,新增也不多,但是会有大量的读操作,新增的时候加入程序级别的锁,防止并发插入,读的时候,直接读,myisam的表读锁之间是共享的),这个时候就可以考虑使用myisam来增强数据库的读写性能

还有就是目前的缓存技术的支持,innodb利用缓存之后,读写能力都有了很大的提升,如果不是非要走数据库查询的话,优化缓存,并利用好二级缓存也是个不错的策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值