Sybase 15.7"选择更新" +" readpast"竞争条件

2020-09-01 18:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个简单的SQL, 开始...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个简单的SQL,

 开始tran xxx;
 从表的过去选择前50 *进行更新;
 提交tran xxx;
  

我从三个线程运行(每个线程开始自己的事务)。 我观察到的是,有时有时两个线程返回相同的记录集。

根据Sybase手册,"用于更新"应该已锁定我选择的记录,而readpast应该已阻止我读取锁定的记录。

隔离级别为1。

选择更新已启用sp_configure。

aTable被数据行锁定

任何指针都值得赞赏。

6条回答
能不能别闹
2020-09-01 18:40

您好,

READPAST选项的目的是允许 扫描以跳过排他锁定的记录并返回与未锁定的搜索条件匹配的行。 它不应返回未提交更改的行,它与隔离级别0/脏读不同。
READPAST通常用于队列处理应用程序,您要在其中获取下一个可用项目而不被其阻塞。 当前正在处理的项目。

-bret

一周热门 更多>