300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql事物超时回滚_查询超时和事务回滚的处理办法

mysql事物超时回滚_查询超时和事务回滚的处理办法

时间:2019-05-11 10:46:08

相关推荐

mysql事物超时回滚_查询超时和事务回滚的处理办法

顾名思义,就是在查询程序中,当查询超过了规定的时间,设备仍未就绪时,就引发超时错误。简单理解,就是查询的时间太长了。

如在日志里看到报错信息为 Statement cancelled due to timeout or client request.

那么您就遇到查询超时错误了。

解决办法也很简单,就是在控制台的配置管理里,修改一个参数。

登录控制台http://IP:port/system/console,系统维护-配置管理。

点击“com.toone.v3.platform-01core”,

找到“statementTimeout 单一SQL语句(批处理)的最大执行时间,单位(秒),默认是30”这一项,修改用户值,增大SQL语句的执行时间。

修改完成后保存,然后重启服务。

问题解决。

事务回滚

事务:是一组组合成逻辑工作单元的操作,虽然系统中可能会出错,但事务将控制和维护事务中每个操作的一致性和完整性。

事务回滚:举个最简单的例子,比如一个部门里面有很多成员,这两者分别保存在部门表和成员表里面,在删除某个部门的时候,默认删除对应的成员。

但是在执行的时候可能会出现这种情况,我们先删除部门,再删除成员,但是部门删除成功了,删除成员的时候出异常了。

这时候就回滚了,成员删除失败了,之前删除的部门也取消删除。

初步了解了事务和事务回滚之后,我们来看出现的问题。

原因:在两个有事务规则间配置了打开规则,打开规则会阻塞后续逻辑执行,停顿一段时间后,执行后续规则提交事务,这时后台事务超时早已回滚,导致前端报错。

例如:

①保存

②打开模态窗体

③其他与写数据库相关的逻辑

如果在②模态窗体长时间停留,就可能导致事务回滚,也就是①保存的数据会失效。

解决方案:这个需要调整配置,不要在事务规则间配置打开规则。

规则链:A事务-B事务-打开模态窗体,可以。

规则链:打开模态窗体-A事务-B事务,可以。

规则链:A事务-打开模态窗体-B事务,不可以。

那么,哪些是属于事务规则呢,我们也帮您标记了,在新增规则时,可以看到,有蓝色标记的规则,都是事务规则。

这样,大家在配置规则链的时候,只要注意到这个场景,就不会再遇到事务回滚的问题了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。