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

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

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

mysql 执行事件 mysql执行时间超时怎么办_事务回滚

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

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

mysql 执行事件 mysql执行时间超时怎么办_删除成员_02

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

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

mysql 执行事件 mysql执行时间超时怎么办_mysql事物超时回滚_03

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

问题解决。

事务回滚

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

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

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

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

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

mysql 执行事件 mysql执行时间超时怎么办_删除成员_04

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

例如:

①     保存

②     打开模态窗体

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

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

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

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

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

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

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

mysql 执行事件 mysql执行时间超时怎么办_删除成员_05

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