iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 12
0
Data Technology

SQL Server 學習日誌系列 第 12

12. Hint: WITH NOLOCK

前言

當服務負載量日益繼夜的增加,對於效能、速度的要求就會越來越高。目前接觸的工作無論對於程式碼、伺服器調教或資料庫設定都非常的嚴謹,在某次 code review 建議加入with NOLOCK ,才開始接觸 hint。個人在先前對於 Hint 非常的陌生,直到最近在大型專案撰寫 Stored Procedure 才些微了解 Hint 的作用。由於第一次接觸 hint,文章內容若有錯誤或任何見,請各位先進不吝指教。


介紹

介紹

在使用 Hint 之前,我們必須注意一下微軟官方文件的警告:

NoLock 能在非交易且不要求資料準確性下情況,執行 SQL Command 時可以提升查詢效能。NoLock 會成 Dirty Read。

註:兩個交易同時進行時,某一個交易變更了資料,另一個交易讀取了未確認的的資料(未依序)的情況下所產生的資料不準確性。

Table Hint 的用法如下:

FROM Table WITH (Table Hint)

註:可以使用在 JOIN Table

實際我們測試如下:
(因為手邊沒有大量資料可以進行測試,故沒有辦法很明確得知增加多快)


參考資料

  1. 提示 (TRANSACT-SQL)-資料表 - https://docs.microsoft.com/zh-tw/sql/t-sql/queries/hints-transact-sql-table

上一篇
11.TRANSACTION ISOLATION LEVEL
下一篇
13. Database Mail 設定
系列文
SQL Server 學習日誌30

尚未有邦友留言

立即登入留言