为什么 mysql 不像 percona 服务器那样实现终止空闲事务?
why don't mysql implement kill idle transaction like percona server?
Percona 服务器:
https://github.com/percona/percona-server/pull/1164
当前的 kill idle transaction 特性实现工作在较低的 InnoDB 事务列表级别,定期扫描它并杀死旧的。
Lixun Peng 建议通过设置不同的套接字读取超时值来重新实现此功能(错误 907719)。这样的实现有几个优点:
- 更简单的代码,消除当前代码中的崩溃错误(错误 1166744、错误 1179136)
- 适用于任何存储引擎,而不仅仅是 InnoDB。
在用户级别,引入一个新的服务器变量kill_idle_transaction。使旧的 innodb_kill_idle_transaction 变量成为已弃用的别名,将在 8.0.
中删除
在此处复制 Laurynas 的答案以便标记此问题 "answered":最好在 bugs.mysql.com/bug.php?id=67906 上提问(请注意由于他们的贡献规则,Percona 补丁无法 MySQL 直接获取)。 – Laurynas Biveinis
Percona 服务器:
https://github.com/percona/percona-server/pull/1164
当前的 kill idle transaction 特性实现工作在较低的 InnoDB 事务列表级别,定期扫描它并杀死旧的。
Lixun Peng 建议通过设置不同的套接字读取超时值来重新实现此功能(错误 907719)。这样的实现有几个优点: - 更简单的代码,消除当前代码中的崩溃错误(错误 1166744、错误 1179136) - 适用于任何存储引擎,而不仅仅是 InnoDB。
在用户级别,引入一个新的服务器变量kill_idle_transaction。使旧的 innodb_kill_idle_transaction 变量成为已弃用的别名,将在 8.0.
中删除在此处复制 Laurynas 的答案以便标记此问题 "answered":最好在 bugs.mysql.com/bug.php?id=67906 上提问(请注意由于他们的贡献规则,Percona 补丁无法 MySQL 直接获取)。 – Laurynas Biveinis