MySQL InnoDB - 避免为单个事务刷新日志缓冲区?

时间:2011-07-21 05:00:32

标签: php mysql transactions innodb performance

是否有可能以编程方式告诉MySQL不要立即为当前事务刷新日志缓冲区,而不管innodb_flush_log_at_trx_commit设置是什么?

假设您通常希望遵守ACID,以便您的数据免受任何电源/硬件故障的影响。所以你有innodb_flush_log_at_trx_commit = 1

但是在您的应用程序中,您有一个需要快速返回的特定INSERT查询,并且它具有相同级别的完整性保护并不重要。您是否可以跳过该查询/事务的刷新(在其事务结束时)?你可以通过SQL查询或PHP的PDO中的某些东西以编程方式进行吗?

2 个答案:

答案 0 :(得分:0)

我认为答案是无法完成 - 除非您愿意仅为特定的表格切换到MyISAM。

答案 1 :(得分:-1)

我不确定这是否会完全符合您的要求,但请查看INSERT DELAYED