【发布时间】:2013-08-06 18:48:08
【问题描述】:
我看到 (xlock,rowlock,holdlock) 的组合用于表。参考网上书,holdlock是持有共享锁(读,如select)直到事务完成,xlock是排他锁(写锁),用于数据修改,如更新,插入或删除。我们怎么能同时使用读和写一个表呢?我想知道组合是否生效。令人困惑...
【问题讨论】:
标签: sql sql-server tsql
我看到 (xlock,rowlock,holdlock) 的组合用于表。参考网上书,holdlock是持有共享锁(读,如select)直到事务完成,xlock是排他锁(写锁),用于数据修改,如更新,插入或删除。我们怎么能同时使用读和写一个表呢?我想知道组合是否生效。令人困惑...
【问题讨论】:
标签: sql sql-server tsql
rowlock、paglock、tablock
nolock、updlock、xlock
holdlock、readpast、nowait
您建议的组合是xlock, rowlock, holdlock。这三者并不冲突。这将导致一个独占的行锁,该行锁一直保持到事务结束。
【讨论】:
holdlock 通常会锁定一个范围而不是一行。