SQL Server Table blokuje długie zapytania - rozwiązanie: NoLock?

raport w mojej aplikacji uruchamia zapytanie, które potrzebuje od 5 do 15 sekund (ograniczone do liczenia wierszy, które zostaną zwrócone). Zapytanie ma 8 połączeń do prawie wszystkich głównych tabel mojej aplikacji (klienci, sprzedaż, jednostki itp.).

Małe narzędzie pokazuje mi, że w tym czasie wszystkie te 8 tabel jest zablokowanych za pomocą wspólnego blokady tabeli. Oznacza to, że w tym czasie nie zostanie wykonana żadna operacja aktualizacji.

Rozwiązaniem od przyjaciela jest posiadanie każdego połączenia w zapytaniu, które nie jest obowiązkowe, aby mieć 100% poprawnych danych (brudny odczyt), z NoLock, więc tylko 1 z tych 8 tabel zostanie całkowicie zablokowany. Czy to dobre rozwiązanie? W przypadku raportu, w którym 99% danych pochodzi z jednej tabeli, odblokuj mniej tabel prio?

questionAnswers(3)

yourAnswerToTheQuestion