2009-06-23 10 views
10

jest jakiś sposób, aby powiedzieć serwerowi SQL, aby skorzystał z podpowiedzi (nolock) lub każdego wyboru w procedurze przechowywanej?Serwer SQL - jak ustawić podpowiedź (nolock) jako domyślną?

jest dość męczące, aby dodać go do siebie każdy wybrać ....

+2

Chcesz być ostrożnym robi to zwłaszcza w środowiskach o dużej objętości transakcji z powodu brudnych czyta. –

+2

Zanim to zrobisz - upewnij się, że rozumiesz pełne konsekwencje brudnych odczytów. W wynikach wyszukiwania mogą pojawić się brakujące rekordy lub rekordy z podwójnym czytaniem - co w wielu przypadkach nie jest dobre dla Twojej aplikacji. –

Odpowiedz

6

myślę, że to jest to, czego szukasz ...

zbioru transakcji IZOLACJA LEVEL READ UNCOMMITTED

5

Ty aby użyć następujących syntax:

zbioru transakcji IZOLACJA LEVEL READ UNCOMMITTED

znalazłem ten b y patrząc na wskazówkę tabeli NOLOCK pod adresem here. Wskazówka tabeli WITH (NOLOCK) jest równoważna ustawieniu poziomu izolacji na READ UNCOMMITTED. Oto urywek z MSDN:

NOLOCK jest równoważna READUNCOMMITTED. Aby uzyskać więcej informacji, zobacz READUNCOMMITTED w dalszej części tego tematu.

14

Jak inni słusznie powiedzieć, globalny (nolock) odbywa się za pomocą READ niezaangażowane.

Zanim jednak przejdziesz na tę trasę, warto spróbować najpierw ZAPOZNAJ SIĘ ZOBOWIĄZANE SNAPSHOT. Oznacza to, że twoje odczyty nie będą blokowane przez wkładki/aktualizacje postępu i oznacza, że ​​dane nie są brudne, tylko nieaktualne.

0

Może się jednak zdarzyć, że dane będą nieprawidłowe. Z roku 2005, to korzystne jest stosowanie izolacji migawka: „Kiedy Snapshot Isolation pomaga i kiedy boli” http://www.devx.com/dbzone/Article/32957

Powiązane problemy