我试图确定当innodb_flush_log_at_trx_commit=0时,MySQL的MyISAM和InnoDB之间的持久性差异。
我知道InnoDB和ACID的一些好处。 但是,在默认设置下插入InnoDB的速度太慢了。 更改innodb_flush_log_at_trx_commit可以加快速度,但是我们可能会丢失大约1秒左右的数据(我们相当确定)。
即使将innodb_flush_log_at_trx_commit设置为0(或2),InnoDB比MyISAM更耐用吗? 是不是更容易受到数据损坏? 还是从本质上降低了InnoDB对MyISAM的耐久性和腐败?
任何想法的差异?
即使你使用trx_commit = 2,InnoDB也比MyISAM更耐用。 它在性能上是好的,但不是ACID了,但是我在很多写密集的实例上使用这个configuration很长一段时间,并且已经有一些没有任何损坏的崩溃。