什么是MySQL
中的InnoDB
和MyISAM
?
发布于 2011-03-24 12:03:42
InnoDB
和MYISAM
是MySQL
的存储引擎。
这两种方法在锁定实现上有所不同:InnoDB
锁定表中的特定行,而MyISAM
锁住整个MySQL
表。
在DB中创建表时,可以通过提供MYISAM
或InnoDB
来指定类型。
发布于 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还支持外键引用完整性约束。
发布于 2010-11-02 19:41:28
我想补充的是,能够为每个表指定一个特定的存储引擎是MySQL的主要优势之一(除了易于使用和无需调整的良好性能)。对于所有需要事务的操作,只需坚持使用InnoDB即可。但是,当在某些情况下不需要事务处理时,MyISAM确实可以加快速度-与InnoDB相比,它需要更少的磁盘空间和内存。
也就是说,InnoDB一直在变得更好:
https://stackoverflow.com/questions/3818759
复制相似问题