gpt4 book ai didi

mysql - mysql 5.1.38 lock_wait_timeout,后续回滚,数据消失如何解决

转载 作者:行者123 更新时间:2023-11-30 21:23:13 25 4
gpt4 key购买 nike

我正在使用带有 struts 2 的顶部链接和用于高使用率应用程序的顶部链接,该应用程序始终访问单个表,每秒多次读取和写入。这会导致lock_wait_timeout错误,事务回滚,导致刚输入的数据从前端消失。 (Mysql的autocommit已经设置为one)。异常已被捕获并发送到应用程序中的错误页面,但仍然发生回滚(它必须是 toplink 异常,因为 mysql 没有打开回滚功能)。原始数据文件 ibdata01 在编辑器中打开时显示其中的条目。由于这种情况很少发生,因此无法在测试条件下复制。

任何人都可以提供一些摆脱这种困境的方法吗?什么样的方法应该如此高的访问权限(始终从同一个表中不断读取和写入)?任何帮助将不胜感激。

最佳答案

您的并发读取/更新的性质是什么?您是否不断从不同的 session 更新相同的行?当两个 session 同时更新同一行时,您预计会发生什么情况?

如果只是读取与更新冲突,请考虑减少数据库上的事务隔离。

如果你有多个写入冲突,那么你可以考虑使用悲观锁来确保每个事务都成功。但无论哪种方式,您都会有很多争用,因此可能会重新考虑您的数据模型或应用程序对数据的使用。

看, http://en.wikibooks.org/wiki/Java_Persistence/Locking

关于mysql - mysql 5.1.38 lock_wait_timeout,后续回滚,数据消失如何解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1700586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com