Zmień swój interfejs, aby używać NOLOCK lub READ UNCOMMITTED podczas wykonywania wyborów .
Nie można NOLOCK MERGE, INSERT lub UPDATE, ponieważ rekordy muszą być zablokowane w celu wykonania aktualizacji. Możesz jednak NIE ZABLOKOWAĆ WYBORÓW.
Pamiętaj, że powinieneś używać tego ostrożnie. Jeśli brudne odczyty są w porządku, śmiało. Jeśli jednak odczyty wymagają zaktualizowanych danych, musisz wybrać inną ścieżkę i dokładnie dowiedzieć się, dlaczego łączenie rekordów 3M powoduje problem.
Byłbym skłonny założyć się, że większość czasu spędza się na czytaniu danych z dysku podczas komendy scalania i/lub pracy w sytuacjach braku pamięci. Być może lepiej będzie po prostu włożyć więcej pamięci RAM do serwera bazy danych.
Idealną ilością byłoby posiadanie wystarczającej ilości pamięci RAM, aby w razie potrzeby wciągnąć całą bazę danych do pamięci. Na przykład, jeśli masz bazę danych o pojemności 4 GB, upewnij się, że masz 8 GB pamięci RAM... oczywiście na serwerze x64.