【发布时间】:2012-09-30 13:37:54
【问题描述】:
【问题讨论】:
-
这取决于您的程序规范。给出一些细节,你愿意做什么以及申请要求是什么......
-
汽车和自行车哪个更好?
-
我建议总是开始使用 InnoDB。它有那些我期望来自RDBMS的"magical properties"。
标签: mysql storage innodb myisam
【问题讨论】:
标签: mysql storage innodb myisam
没有“最好”,这取决于您/您的应用程序需要什么。
您可以阅读有关差异here in the Reference Manual:
InnoDB: MySQL 的事务安全(符合 ACID)存储引擎 具有提交、回滚和崩溃恢复功能来保护 用户数据。 InnoDB 行级锁定(没有升级到更粗的 粒度锁)和 Oracle 风格的一致非锁定读取 提高多用户并发性和性能。 InnoDB 存储用户 聚集索引中的数据,以减少基于数据的常见查询的 I/O 主键。为了保持数据完整性,InnoDB 还支持 FOREIGN 关键参照完整性约束。 InnoDB 是默认存储 MySQL 5.6 中的引擎。
MyISAM: 这些表占用空间小。表级锁定 限制读/写工作负载的性能,因此它通常用于 Web 和数据仓库中的只读或只读工作负载 配置。
【讨论】:
“最好的”取决于很多事情:
MyISAM 没有关系(外键),如果你想保持表之间的完整性,你必须编写一些触发器,而在 InnoDB 中你可以使用“DELETE ON CASCADE”和这些东西。 但是 InnoDB 在迁移时速度较慢,因为它必须检查约束。
如需更多信息,您可以快速浏览:
http://www.devshed.com/c/a/MySQL/Comparison-of-MyISAM-and-InnoDB-MySQL-Databases-57392/
【讨论】: