MySQL11-MyISAM和InnoDB存储引擎区别

1.MyISAM

1.引擎特性

不支持事务,不支持外键,表级锁,批量插入速度高,支持全文索引,支持B-Tree索引,不支持哈希索引和集群索引,数据可压缩,磁盘空间和内存占用低。

2.数据存储方式

新建数据表时,如果存储引擎ENGINE选择MyISAM,会在对应数据库下创建三个文件:*.frm数据表结构文件frame,*.MYD数据表数据文件data,*.MYI数据表索引文件index。
MyISAM的表结构,索引和数据是分开的,并且索引是有压缩的。

2.InnoDB

1.引擎特性

支持事务,支持外键,行级锁,批量插入速度低,5.5版本后支持全文索引,支持B-Tree索引,哈希索引,集群索引,数据不可压缩,磁盘空间和内存占用高。
InnoDB的行锁不是绝对的,在执行SQL语句时如果MySQL不确定扫描的范围,InnoDB表同样会锁全表,例如UPDATE student SET age=12 WHERE name LIKE '%aaa%';。SELECT COUNT(*) 和ORDER BY操作,InnoDB也会锁表的。
只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁。
参考链接:http://blog.csdn.net/xiao7ng/article/details/5034013

2.数据存储方式

新建数据表时,如果存储引擎ENGINE选择InnoDB,会在对应数据库下创建一个文件:*.frm数据表结构文件frame。所有的数据都会存储在同一个文件ibdata1中。
InnoDB是索引和数据是紧密捆绑的,没有使用压缩。所以InnoDB比MyISAM体积庞大不小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值