« データセンター選びのポイント | Main | レーザープリンタの選び方 »

September 13, 2004

【SQLServer】WITH(NOLOCK)

DBを管理する上で、lockに関する理解はとても重要です。厄介なことに
lockのかかりかたはOracle、SQLServer、MySQL等DBによってばらばらで、
DBを変えた途端にlockの処理方法の違いでレスポンスがかなり重くなる
というのはよくある話しです。

以前SQLServerで掲示板のようなシステムを運用していたことがあります。
ユーザ数が伸びるに従いレスポンスが明らかに低下していきました。
CPUやメモリ不足という考えがありましたが、そのときはどうやらそうでは
なさそうでした。調査してみたところ、SQLServerではselectの度に
lockがかかるようなことが原因でした。この対応策を探したところ、
SQL文中に「WITH(NOLOCK)」という記述を追加してあげることでした。

※DBはあまり詳しくないので書き方が中途半端でスミマセン。

|

« データセンター選びのポイント | Main | レーザープリンタの選び方 »

データベース」カテゴリの記事

Comments

文書番号: 975782 - SQL Server で"READ UNCOMMITTED 分離レベル" または"NOLOCK ヒント" を使用した SQL 文を実行してデータを参照すると、読み取ったデータの行が欠落または重複する場合がある

Posted by: アホ発見 | March 09, 2010 at 03:16 PM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/32004/1427301

Listed below are links to weblogs that reference 【SQLServer】WITH(NOLOCK):

« データセンター選びのポイント | Main | レーザープリンタの選び方 »