就发生了244错误。
你可以set lock mode to wait 就可以解决这个问题了。 set lock modeto wait;
设置永远等待就可以了
或者设定一个较长的值。比如 30秒就是 set lock mode to wait 30 优化算法,尽量缩短事务时间,一天20万次的新增或修改,说明此表数据量也不少,可以考虑将此表分段存储。
另外,set lock mode to wait并不是个好办法,如果等待太多,会大大影响效率。 你的说法无疑是对的。但是再快的算法,都无法保证提交期间,别的进程不去访问。并发的访问,这个问题没法回避。除非排他访问。因此,恰恰相反,从应用层面上,再快的算法,再优化的数据库访问计划,再合理的数据库分区,再合理的事务细分,都没法避免该错误。set lock必不可少。否则,你只能用try and error方法不停重试。那样就失去了意义。不光从程序实现上,也从效率上,不如wait-wakeup(等待-唤醒)模式,来的实用和更有效率。你说呢? 楼上说的有道理
页:
[1]
2