最終更新日:2019年4月30日

SQLServer nolockを使ってテーブルをロックせずにSELECTする

記事内に商品プロモーションを含む場合があります。

始めに

SQLServer の SQL でテーブルをロックせずに SELECT を行う方法を紹介します。
ロックしてしまうと危険なテーブルに対して SELECT を行う際に nolock ヒントを使うと安全に行えます。

nolock を使った SQL

nolock の使い方は次のようになります。

select * from テーブル名 with ( nolock )

テーブル名の後ろにwith ( nolock )をつけるだけでダーティリードになります。
更新中のテーブルに対しても、ロックが競合することなく SELECT できます。

注意事項

nolock をつけていても、Sch-M タイプのロックになってしまった場合は、他の SQL が待ちになります。

SQLServer nolockを使ってテーブルをロックせずにSELECTするの商品をアマゾンで調べる。
SQLServer ゼロパディングとゼロサプレスする方法
sect: Teches | lastmod: 2018-11-01 | pv: 4049
SQLServer テーブルが存在していたらdropしてcreateする方法
sect: Teches | lastmod: 2018-06-07 | pv: 4503