0

Oracle DBでフラグを構成できること、特定のDBで実行されているすべてのselectクエリを、NOLOCKヒントが追加されたかのように実行できることを知っています。SQL Serverに似たようなものはありますか?

4

3 に答える 3

3

データベースをREAD_ONLYモードに設定すると、トランザクションルールの一部が確実に変更されますが、グローバルNOLOCKに近いものはないと思います。

編集

DELETE、INSERT、およびUPDATEを実行できるようにしたいが、リーダーをロックしたくない場合、またはヒントや分離レベルを指定する必要がない場合は、READ_COMMITTED_SNAPSHOTをオンにすることも検討できますが、セマンティクスはまったく同じではありません。 NOLOCKヒントとして。

于 2010-08-17T06:54:35.367 に答える
1

データベースごとのレベルではありません。ヒントまたはでのみ実行できますset transaction isolation level。データベースを読み取り専用モードに設定できます。これにより、デフォルトでその効果が得られる場合がありますが、(名前が示すように)データベースへの書き込みができなくなります。

これは、定期的に更新されるデータベースに役立つ場合があります。データベースを読み取り専用に設定し、更新のために書き込み可能に設定してから、読み取り専用に戻します。

于 2010-08-17T06:53:09.780 に答える
0

データベース全体ではなく、クエリごとに次のことを行います。

SELECT a, b
FROM t1
WITH (NOLOCK)
WHERE t1.c = @value

また

SELECT a, b
JOIN t1
ON t1.id = t2.id
WITH (NOLOCK)
FROM t2
WHERE t2.c = @value

于 2010-08-17T07:00:33.060 に答える