Informix 与READ_未提交事务并发操作时,READ_提交的锁定策略是什么

Informix 与READ_未提交事务并发操作时,READ_提交的锁定策略是什么,informix,isolation-level,transaction-isolation,Informix,Isolation Level,Transaction Isolation,我们有两个事务,一个已提交读取,另一个未提交读取。在READ_提交的事务中,我们面临一个锁异常。当另一个READ_UNCOMMITTED事务修改READ_COMMITTED试图检索的记录时,会发生此异常。我的READ_UNCOMMITTED事务需要更多的时间才能完成。根据隔离策略,READ_UNCOMMITTED不获取锁,READ_COMMITTED获取锁 我的问题是 READ_COMMITTED遵循什么锁定策略 它是否会从READ_UNCOMMITTED事务中获取未提交记录的锁?或者在以前交易

我们有两个事务,一个已提交读取,另一个未提交读取。在READ_提交的事务中,我们面临一个锁异常。当另一个READ_UNCOMMITTED事务修改READ_COMMITTED试图检索的记录时,会发生此异常。我的READ_UNCOMMITTED事务需要更多的时间才能完成。根据隔离策略,READ_UNCOMMITTED不获取锁,READ_COMMITTED获取锁

我的问题是

  • READ_COMMITTED遵循什么锁定策略
  • 它是否会从READ_UNCOMMITTED事务中获取未提交记录的锁?或者在以前交易的提交记录上

  • 具有readcommitted事务的会话将在很短的时间内具有共享锁,只要sql server完成读取,该共享锁就会被释放。如果另一个具有read uncommitted transaction的会话试图在同一时间更新同一记录,它将被阻塞很短的时间间隔,直到共享锁未释放


    Read uncommitted transaction读取未提交的脏记录,这些脏记录是未提交的记录,并且不会发出共享锁。但该事务仍将发出独占锁。

    具有readcommitted事务的会话将在很短的时间内拥有共享锁,sql server完成读取后,该共享锁将立即释放。如果另一个具有read uncommitted transaction的会话试图在同一时间更新同一记录,它将被阻塞很短的时间间隔,直到共享锁未释放


    Read uncommitted transaction读取未提交的脏记录,这些脏记录是未提交的记录,并且不会发出共享锁。但是事务仍然会发出独占锁。

    我们使用Informix。我需要更多的信息来理解您的问题。您使用的是什么版本的Informix?您能否提供一个简单的示例,其中包含一个虚拟表,说明您的两个事务正在尝试做什么?我们使用Informix,我需要更多的信息来理解您的问题。您使用的是什么版本的Informix?您能否提供一个简单的示例,其中包含一个虚拟表,说明您的两个事务正在尝试做什么?