Innodb 和 MYISAM的区别
温馨提示:
本文最后更新于 2022年11月29日,已超过 890 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
- 存储结构不同
myisam:每个myisam在磁盘上存储三个文件。第一个文件的名字是以表的名字开始,拓展名指出文件的类型,
.frm 存储表的定义
.myd 存储表数据
.myi 存储表的索引
innodb:所在的表都保存在同一个数据文件中(也可能是对个文件,也可能是表空间),innodb表的大小只受限与操作系统文件的大小,一般为2GB - 存储空间不同
myisam:可能被压缩,存储空间较小,支持三种不同的存储格式,静态表、动态表、压缩表
innodb:需要更多的内存和存储,它会在主内存中建立其专用的缓冲池,用于告诉缓冲数据和索引。 - 事物的支持
myisam:强调的是性能,每次查询具有原子性,其查询速度比innodb要快,但是不提供事物支持
innodb:提供事物支持,外部键等高级数据库功能。具有事物、回滚、崩溃修复能力的事物安全型表。 - CURD操作
myisam:如果执行大量的select。myisam是更好的选择(因为没支持行级锁),在增删的时候需要锁定整个表格,效率会低一些。
innodb:提供行级别的锁,新增和删除的时候只需要锁定当前行就可以效率很高。
如果你数据库表需要执行大量的insert 和 update,处于性能考虑应该使用innodb表。delete操作从性能上考虑innodb更优 - 外键
myisam:不支持
innodb:支持
正文到此结束
- 本文标签: 其他
- 本文链接: http://www.ityoulove.com/article/3
- 版权声明: 本文由崔健宇原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权