哪个更耐用? MyISAM 或 InnoDB 带有 innodb_flush_log_at_trx_commit=0

哪个更耐用? MyISAM 或 InnoDB 带有 innodb_flush_log_at_trx_commit=0

我正在尝试确定 MySQL 的 MyISAM 和 InnoDB 之间的耐用性差异innodb_flush_log_at_trx_commit=0

我知道 InnoDB 和 ACID 的一些好处。但是,在默认设置下,使用 InnoDB 插入太慢了。更改设置可以innodb_flush_log_at_trx_commit加快速度,但我们可能会丢失大约 1 秒左右的数据(我们对此相当满意)。

即使innodb_flush_log_at_trx_commit设置为 0(或 2),InnoDB 是否比 MyISAM 更耐用?它是否更不容易受到数据损坏的影响?或者它是否从本质上降低了 InnoDB 的耐用性和损坏性,使其与 MyISAM 相当?

对于这些差异您有什么看法吗?

答案1

即使使用 trx_commit=2,InnoDB 也绝对比 MyISAM 更耐用。它的性能很好,但不再是 ACID,但我在几个写密集型实例上长期使用此配置,并且已经发生了几次崩溃,但没有任何损坏。

相关内容