回覆列表
  • 1 # pgdih2115

      看你需要加哪種型別的鎖:  HOLDLOCK將共享鎖保留到事務完成,而不是在相應的表、行或資料頁不再需要時就立即釋放鎖。HOLDLOCK等同於SERIALIZABLE。  NOLOCK不要發出共享鎖,並且不要提供排它鎖。當此選項生效時,可能會讀取未提交的事務或一組在讀取中間回滾的頁面。有可能發生髒讀。僅應用於SELECT語句。  PAGLOCK在通常使用單個表鎖的地方採用頁鎖。  READCOMMITTED用與執行在提交讀隔離級別的事務相同的鎖語義執行掃描。預設情況下,SQLServer2000在此隔離級別上操作。  READPAST跳過鎖定行。此選項導致事務跳過由其它事務鎖定的行(這些行平常會顯示在結果集內),而不是阻塞該事務,使其等待其它事務釋放在這些行上的鎖。READPAST鎖提示僅適用於執行在提交讀隔離級別的事務,並且只在行級鎖之後讀取。僅適用於SELECT語句。  READUNCOMMITTED等同於NOLOCK。  REPEATABLEREAD用與執行在可重複讀隔離級別的事務相同的鎖語義執行掃描。  ROWLOCK使用行級鎖,而不使用粒度更粗的頁級鎖和表級鎖。  SERIALIZABLE用與執行在可序列讀隔離級別的事務相同的鎖語義執行掃描。等同於HOLDLOCK。  TABLOCK使用表鎖代替粒度更細的行級鎖或頁級鎖。在語句結束前,SQLServer一直持有該鎖。但是,如果同時指定HOLDLOCK,那麼在事務結束之前,鎖將被一直持有。  TABLOCKX使用表的排它鎖。該鎖可以防止其它事務讀取或更新表,並在語句或事務結束前一直持有。  UPDLOCK讀取表時使用更新鎖,而不使用共享鎖,並將鎖一直保留到語句或事務的結束。UPDLOCK的優點是允許您讀取資料(不阻塞其它事務)並在以後更新資料,同時確保自從上次讀取資料後資料沒有被更改。  XLOCK使用排它鎖並一直保持到由語句處理的所有資料上的事務結束時。可以使用PAGLOCK或TABLOCK指定該鎖,這種情況下排它鎖適用於適當級別的粒度。

  • 中秋節和大豐收的關聯?
  • ”年年六月星迴節“的下一句是?