MyISAM 与 InnoDB 的区别

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写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。(俗话说的好,有得必有失~)


转载于:https://my.oschina.net/CgShare/blog/514468

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值