2

テーブルにデータを挿入するときに、SQL Server で ROWLOCK オプションを使用したいと考えています。それは何らかの形で役立ちますか。データベースのブロックを減らすのに役立ちますか?

4

1 に答える 1

2

ROWLOCK を使用することは、SQL Server クエリ オプティマイザーにとって、この SQL クエリについてよく知っているヒントです。基本的に、ページまたはテーブルのロックにエスカレートするのではなく、クエリの FROM 句の影響を受けるテーブル/ビューの行をロックします。

経験豊富な開発者または管理者が適用すると、非常に特殊な状況でのブロックに役立つ場合があります。ただし、特定のクエリに対してロックが効率的に行われていないことが明確に特定されていない限り、一般に、ロック戦略はクエリオプティマイザーに任せます。

SQL Server 2005 のロック エスカレーションに関する優れた記事がありますが、SQL Server 2008 にはいくつかの変更が加えられていると思います。SQL Server 2008 のロックに関するまともな記事があります。

于 2012-12-19T10:45:08.347 に答える