Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

WITH (NOLOCK) vs SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

Sie sind dasselbe. Wenn Sie die set transaction isolation level verwenden -Anweisung, gilt sie für alle Tabellen in der Verbindung, wenn Sie also nur ein nolock wollen an einem oder zwei Tischen verwenden Sie das; ansonsten den anderen verwenden.

Beide geben Ihnen Dirty Reads. Wenn Sie damit einverstanden sind, dann verwenden Sie sie. Wenn Sie keine schmutzigen Lesevorgänge haben können, ziehen Sie snapshot in Betracht oder serializable stattdessen Hinweise.