今天我们来聊聊如何优化InnoDB事务管理?
要优化InnoDB事务管理,请在事务功能的性能开销与服务器的工作负载之间找到理想的平衡。例如,如果一个应用程序每秒提交数千次,则可能会遇到性能问题;如果仅每2-3小时提交一次,则可能会遇到不同的性能问题。
要消除发生的回滚,请增加缓冲池,以使回滚成为CPU约束并快速运行,或者终止服务器并重新启动 innodb_force_recovery=3。
默认设置预计不会出现此问题,该默认设置 innodb_change_buffering=all允许将更新和删除操作缓存在内存中,从而使它们首先可以更快地执行,并且在需要时可以更快地回滚。确保在处理具有许多插入,更新或删除操作的长期事务的服务器上使用此参数设置。
官方文档链接:
https://dev.mysql.com/doc/refman/8.0/en/optimizing-innodb-transaction-management.html