我使用 MySQL 作为我当前 Web 项目的数据库。我是 MySQL 的新手。请向我解释 InnoDB 和 MyISAM 之间的区别。
Mar*_*son 14
ISAM = 索引顺序访问方法,本质上是一个平面文件(对于那些能记住的 DBA,想想 Btrieve 或 B-Tree)。这是一项非常古老的技术 - 但不要因为它而放弃使用它。因为它是一个平面文件(稍后会详细介绍),它不是关系文件,因此不是 RDBMS,因此在某些情况下更合适。
InnoDB 是您很可能熟悉的完整 RDBMS。MyISAM 可以通过添加在顶部的另一个层来维护您的链接、逻辑和引用完整性,从而看起来是相关的。
如果您有很多记录(比如 2000 万条),并且这些记录大多是独立的(即您不需要做很多链接来检索相关数据),那么 ISAM 非常棒。它非常依赖索引,如果您没有正确的索引,请为非常长的查询时间做好准备。举个例子:我们有一个包含 2000 万条记录的 Btrieve ISAM 表,根据准确的索引检索和过滤数据几乎是即时的。使用错误的索引实际上是 15 分钟。
如果您有很多关系链接,InnoDB 非常适合。表 A 引用了表 B 中的一个字段,它引用了表 C 和 D。 InnoDB 可以使用各种不错的连接方法(哈希连接等)获取这些记录,而 ISAM 数据库必须为每个单独的查询运行多个子查询行并手动匹配记录。
如果你想要更多的细节,你真的必须上一门数据库课程!
归档时间: |
|
查看次数: |
9545 次 |
最近记录: |