SQL Server の「with (nolock)」とは何ですか? 質問する

SQL Server の「with (nolock)」とは何ですか? 質問する

クエリで を使用することの影響with (nolock)、いつ使用すべきか、いつ使用すべきでないかを説明してくれる人はいますか?

たとえば、トランザクション率が高く、特定のテーブルに大量のデータがある銀行アプリケーションがある場合、どのような種類のクエリで nolock が適切でしょうか? 常に使用する必要がある場合と、決して使用してはならない場合はありますか?

ベストアンサー1

WITH (NOLOCK) は、トランザクション分離レベルとして READ UNCOMMITED を使用するのと同じです。したがって、後でロールバックされるコミットされていない行、つまりデータベースに一度も取り込まれなかったデータを読み取るリスクがあります。したがって、他の操作によって読み取りがデッドロックされるのを防ぐことはできますが、リスクが伴います。トランザクション率の高い銀行アプリケーションでは、おそらく、これを使用して解決しようとしている問題に対する適切なソリューションにはならないと思います。

おすすめ記事