SQL Server——Lock

來源:互聯網
上載者:User

1.UPDLOCK
    允許您讀取資料(不阻塞其它事務)並在以後更新資料,同時確保自從上次讀取資料後資料沒有被更改。當我們用UPDLOCK來讀取記錄時可以對取到的記錄加上更新鎖定,從而加上鎖的記錄在其它的線程中是不能更改的只能等本線程的事務結束後才能更改。

2.ROWLOCK
     ROWLOCK告訴SQL Server只使用行級鎖。ROWLOCK文法可以使用在SELECT,UPDATE和DELETE語句中。如果在UPDATE語句中有指定的主鍵,那麼就總是會引發行級鎖的。

3. NOLOCK
   NOLOCK可以忽略鎖,直接從資料庫讀取資料。這意味著可以避開鎖,從而提高效能和擴充性。但同時也意味著代碼出錯的可能性存在。你可能會讀取到運行事務正在處理的無須驗證的未遞交資料。 這種風險可以量化。

 SQL Server支援更多類型的lock,如TABLOCK。SQL Server開始是用行級鎖的,但是經常會擴大為頁面鎖和表鎖,最終造成死結。在實際應用中,需要考慮SQL操作並發量,即時性要求,表索引,資料分布模式等等。每種LOCK類型都有其最適用的情境。

通過Management--->Activity Monitor可以分析DB中LOCK的快照資訊。通過DBCC命令可以把LOCK相關資訊寫入SQL Server Log中供監控。

對於Suspended狀態的Process,可能會出現如下的奇怪現象:http://www.windows-tech.info/15/fd219330fa8cb37a.php


 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.