表受Oracle当前交易的影响



我们正在设计一个基于Web的应用程序,其中包括Oracle Backend以进行会议室预订。另外 - 我们决定使用乐观的锁定,因为我们期望碰撞数量在下侧。

现在 - 在乐观锁定的情况下,总是有可能"已经被别人修改的数据"场景。

,我们的UI涉及要输入的很多字段。并且显示诸如"数据已经修改"之类的消息对于最终用户来说并不是一个令人愉快的体验;尤其是在他/她进入15个以上的字段之后。

我正在考虑的是,当最终用户根据他/她在UI上输入的最初几个条目开始他/她的UI会话时显示"碰撞概率"。

此CP(碰撞概率)将通过考虑到给定的表/列进行的数据库会话来动态计算。

例如 - 如果人A和人B都在查看X会议室的信息 - 那么两者都会显示出更高的CP(碰撞概率)。

在这种情况下 - 他们中的任何一个都可以决定等待几秒钟。这将比重新输入所有数据更好。

现在我的问题:在甲骨文中,有没有办法确定哪些会话与哪些表和rowid进行?

"我们的UI涉及很多要输入的字段。"

这似乎是可以通过更好的流动来解决的问题。最小化用户需要输入的字段数量,然后才能获得可用的合适房间的列表。当他们选择房间时,请使用悲观的锁定,以确保在完成预订申请时没有其他人可以抢走房间。将初始字段的副本藏起来,以便如果他们改变主意,可以重新运行原始查询。

当然,这意味着维护会话和处理状态,我们都知道Web应用程序会很糟糕。这是一种说法,当我们不适合我们正在编写的应用程序时,我们经常使用它们。

最新更新