MariaDB 10.3支持自动KILL掉未提交的空事务

本文介绍了如何通过设置InnoDB的空闲事务超时参数来优化数据库性能。特别是针对长时间未提交的事务,可以通过配置不同的超时阈值来自动终止这些连接,从而避免内存资源浪费和连接数过多的问题。

下面介绍给大家一个参数innodb_kill_idle_transaction(这个是Percona XtraDB引用的参数),意思为当一个事务长时间未提交,那么这个连接就不能关闭,内存就不释放,并发一大,导致DB连接数增多,就会对性能产生影响。

默认是0秒,你可以根据自己的情况设定阈值。超过这个阈值,服务端自动杀死未提交的空闲事务。


MariaDB在10.2.6版本里将其移除,因不再捆绑Percona XtraDB,分道扬镳。


MariaDB在10.3版本里,增加了3个参数,对标Percona的功能。

1)idle_transaction_timeout (所有的事务)
2)idle_write_transaction_timeout (写事务)
3)idle_readonly_transaction_timeout (只读事务)


下面通过例子演示一下:

图片.png

注:单位为秒。这里设置了空事务未提交的时间为2秒,当超过2秒后,系统自动将其连接杀死。

设置这个参数后只针对新的连接有效,正在执行的连接无效。


参考:https://mariadb.com/kb/en/library/transaction-timeouts/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值