码迷,mamicode.com
首页 > 数据库 > 详细

MyIsam与InnoDB的区别

时间:2016-03-20 21:19:16      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

从mysql-5.5.5开始,InnoDB作为默认存储引擎,Mysql默认为InnoDB。

MyIsam:不支持事务处理(即原子操作);不支持外键;锁表。

 

InnoDB:支持事务处理;支持外键;断电等硬件故障可以恢复数据。琐行。

 

mysiam表会锁表,而innodb表会锁行。通俗点说,就是你执行了一个update语句,那么mysiam表会将整个表都锁住,其他的insert和delete、update都会被拒之门外,等到这个update语句执行完成后才会被依次执行。

而锁行,就是说,你执行update语句是,只会将这一条记录进行锁定,只有针对这条记录的其他写入、更新操作会被阻塞并等待这条update语句执行完毕后再执行,针对其他记录的写入操作不会有影响。


因此,当你的数据库有大量的写入、更新操作而查询比较少或者数据完整性要求比较高的时候就选择innodb表。当你的数据库主要以查询为主,相比较而言更新和写入比较少,并且业务方面数据完整性要求不那么严格,就选择mysiam表。因为mysiam表的查询操作效率和速度都比innodb要快。

转自:http://www.dedecms.com/knowledge/data-base/mysql/2012/0819/7217.html

MyIsam与InnoDB的区别

标签:

原文地址:http://www.cnblogs.com/hsqdboke/p/5299445.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!