2017-06-05 7 views
0

私はSELECT WITH NOLOCKのテーブルを使用したいです。SELECT WITH NOLOCKクエリには更新クエリがありません。フェッチしたいデータは、現在挿入されているレコードより少なくなります。NOLOCKを使用します。 SELECTクエリでタイムアウト例外が発生しています。私はこれは、テーブルのために、常にクエリを実行しているクエリを挿入してロックされていると思う、そしてSELECTクエリはタイムアウトエラーを出すように長い時間待たなければなりません。NO LOCKのSELECTクエリ

ここでNOLOCKを使用することをお勧めします。コミットされていない取引について書かれた投稿を読んでおり、NOLOCKを使用しないことをおすすめします。

+1

**試してみてください**あなたの質問はこちら[こちら](https://stackoverflow.com/questions/210171/effect-of-nolock-hint-in-select-statements) –

答えて

0

NOLOCKヒントを使用している間に、ドキュメント(Table Hints on MSDN Docs)に記載されているように、まだコミットされていない(トランザクションによってコミットされた)結果が表示されます。

このヒントを使用することで、これらの問題について認識する必要がありますが、ロジックに影響しない場合は、このヒントを使用することができます。

0

"コミットされていない結果を見る"ことができますが、いくつかの行を2回読むか、まったく読まないことができます。だから私たちはあなたのテーブル構造とクエリを知らずに何も助言することはできません。 "データを読み込んでも現在挿入されているレコードが少ない"場合でもブロックされていると、テーブルに適切なインデックスがないことがありますか?