首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是MySQL中的InnoDB和MyISAM?

什么是MySQL中的InnoDB和MyISAM?
EN

Stack Overflow用户
提问于 2010-09-29 12:36:39
回答 5查看 93.5K关注 0票数 130

什么是MySQL中的InnoDBMyISAM

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-24 12:03:42

InnoDBMYISAMMySQL的存储引擎。

这两种方法在锁定实现上有所不同:InnoDB锁定表中的特定行,而MyISAM锁住整个MySQL表。

在DB中创建表时,可以通过提供MYISAMInnoDB来指定类型。

票数 125
EN

Stack Overflow用户

发布于 2010-09-29 12:40:43

它们是存储引擎。

http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html

MyISAM:默认的MySQL存储引擎,也是网络、数据仓库和其他应用程序环境中使用最多的存储引擎。MyISAM在所有MySQL配置中都受支持,并且是默认存储引擎,除非您已将MySQL配置为默认使用其他存储引擎。

InnoDB:用于MySQL的事务安全(符合ACID)的存储引擎,具有提交、回滚和崩溃恢复功能来保护用户数据。Oracle行级锁定(不会升级到更粗粒度的锁定)和InnoDB风格的一致非锁定读取提高了多用户并发性和性能。InnoDB将用户数据存储在聚集索引中,以减少基于主键的常见查询的I/O。为了维护数据完整性,InnoDB还支持外键引用完整性约束。

票数 19
EN

Stack Overflow用户

发布于 2010-11-02 19:41:28

我想补充的是,能够为每个表指定一个特定的存储引擎是MySQL的主要优势之一(除了易于使用和无需调整的良好性能)。对于所有需要事务的操作,只需坚持使用InnoDB即可。但是,当在某些情况下不需要事务处理时,MyISAM确实可以加快速度-与InnoDB相比,它需要更少的磁盘空间和内存。

也就是说,InnoDB一直在变得更好:

InnoDB 1.1 Performance and Scalability Enhancements

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3818759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档