このようなオプションをオンにするリスクは、トランザクションの最後のN秒を失うよりも実際に高いというのは本当ですか?
私がこの質問をしている理由を説明しましょう。DBサーバーがトランザクションTを処理し、その結果として一連のインデックスページを変更したと想像してください。これらのインデックスページのいくつかはすでにディスクにフラッシュされていますが、他のいくつかはフラッシュされていません。ただし、Tによって行われたすべての操作は、まだディスク上のトランザクションログにフラッシュされていません。そして今、私たちは電源を切ります。
したがって、DBサーバーを再起動して回復しようとすると、トランザクションログにT操作は表示されません。ただし、Tによって変更された一部のインデックスページは電源障害の前にフラッシュされたため、一部のインデックスは実際にはこれらの操作を反映しています。つまり、結果として、Tは部分的に適用されます。おそらく、一貫性のないインデックス構造につながるような方法で適用されます(たとえば、テーブルXのプライマリインデックスはTによる変更を反映しませんが、そのセカンダリインデックスの一部は反映します)。
したがって、トランザクションログのフラッシュを遅らせると、このようなことが本当に可能になるのではないかと思います。そうでない場合は、データベースサーバーが実際にこれを防ぐために何をしますか(MySQL 5.5 w / InnoDBが私にとって最も興味深いケースです)。