Bedeutet ReadUncommitted NoLock?
-
09-06-2019 - |
Frage
Bedeutet der READUNCOMMITTED-Abfragehinweis beim Schreiben einer SQL-Anweisung in SQL Server 2005 NOLOCK oder muss ich ihn auch manuell angeben?
So ist:
With (NoLock, ReadUnCommitted)
das Gleiche wie:
With (ReadUnCommitted)
Lösung
Ja, sie sind ein und dasselbe
Andere Tipps
Laut Kalen Delaney...
Der NOLOCK-Hinweis hat nichts mit den Indexoptionen zu tun.Der Hinweis fordert SQL Server an, bei Auswahl von Vorgängen keine Sperrungen anzufordern. Daher gibt es keinen Konflikt mit Daten, die bereits gesperrt sind.Die Indexoptionen geben SQL Server einfach mit, dass diese Sperre zulässig ist, wenn die Sperren auftreten.Wenn beispielsweise Degly_Row_locks ausgeschaltet wäre, wären die einzigen möglichen Sperren von Seiten- oder Tabellenresseln.Die Indexoptionen erzwingen keine Schlösser, die gehalten werden, sondern steuern nur die mögliche Größe der Schlösser.
Als Beantwortung der Frage in Ihrem Thema sind der Nolock -Hinweis und der Hinweis auf ReadCommited gleichwertig.
Ich denke, das kann man sagen
ReadUnCommitted verfügt über die Fähigkeiten von NoLock
Allerdings kann man das nicht sagen
NoLock verfügt über die Fähigkeiten von ReadUnCommitted