- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我需要在编辑某些行时锁定这些行。如果另一个用户将对该行进行选择,则他的查询将需要等待,直到第一个用户释放锁。我的问题是我需要查看查询是否正在等待,因此在这种情况下能够为进行查询的用户预约。您对这种情况有什么建议吗?提前致谢。
最佳答案
如果您在 MySQL 中使用事务,并且使用最新版本的 MySQL (>5.1),则只需在事务内的目标行中进行选择查询即可设置行锁定(并且之前没有)。
并行运行的查询将自动等待,直到第一个事务结束。除非您进行很长的交易,否则等待时间不会很长,并且该过程将在第一个交易结束后继续。除非您的处理时间超过 15 秒,否则通过在锁定时中止事务、向最终用户发送响应并稍后重做事务,您将损失更多时间。
MySQL 有一个锁的超时设置(锁等待超时),你可以将此超时调整为一个相当低的值(假设为 3 秒),如果你的锁,你会得到一个异常wait 太长,那么你将不得不中止事务,但默认情况下让 MySQL 进行锁定和等待管理,而不会在锁定的情况下提前中断事务。
无论如何,您的应用程序代码都应该有异常捕获循环,以捕获这些超时和死锁检测异常。应该做的经典事情是,这种情况是重新启动整个事务,直到它起作用,但如果您愿意,您也可以中止整个事务并告诉您用户他应该等待(但在 90% 的情况下,这比重做交易而不考虑用户交互)。
关于mysql - 无法检查 MySQL 中的行状态(锁定或未锁定),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4804372/
我来自 Asp.Net 世界,试图理解 Angular State 的含义。 什么是 Angular 状态?它类似于Asp.Net中的ascx组件吗?是子页面吗?它类似于工作流程状态吗? 我听到很多人
我一直在寻找 3 态拨动开关,但运气不佳。 基本上我需要一个具有以下状态的开关: |开 |不适用 |关 | slider 默认从中间开始,一旦用户向左或向右滑动,就无法回到N/A(未回答)状态。 有人
我是一名优秀的程序员,十分优秀!