首页 > 数据库技术 > 详细

MyISAM 与 InnoDB 的区别

时间:2015-10-08 23:20:30      阅读:473      评论:0      收藏:0      [点我收藏+]

MyISAM 是MySQL的默认存储引擎。

MyISAM 不支持事务、也不支持外键,其优势是访问的速度快,对事务完整性没有要求或者以 SELECT、INSERT 为主的应用基本上都可以使用这个引擎来创建表。


要明确表示你想要用一个MyISAM表格,请用ENGINE表选项指出来:

CREATE TABLE t (i INT) ENGINE = MYISAM;


MyISAM 的表又支持 3 种不同的存储格式,分别是:

静态(固定长度):

优点:分配快、缓存快

缺点:浪费


动态表:

优点:暂时没看出有啥好处

缺点:频繁地更新删除记录会产生碎片,需要定期执行 OPTIMIZE TABLE 语句或 myisamchk -r命令来改善性能,并且出现故障的时候恢复相对比较困难。


已压缩表:

优点:小

缺点:myisampack工具创建的只读格式


注:当mysql进程在写中间被杀掉或者其他故障时,MyISAM不易被恢复,不建议使用。


========================================================


InnoDB 存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。

但是对比 MyISAM的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。(俗话说的好,有得必有失~)


MyISAM 与 InnoDB 的区别

原文:http://my.oschina.net/CgShare/blog/514468

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!