Dostosowywanie blokowania indeksu
Aparat baz danych programu SQL Server Używa blokowanie dynamiczne strategię, która automatycznie wybiera najlepiej blokowanie ziarnistość kwerend w większości przypadków.Zaleca się, aby nie zastępują domyślne blokowanie poziomy, których strona i wiersz blokowania, chyba że tabela lub indeksie wzory dostępu są również rozpoznawanych i spójne i jest rozwiązać problem rywalizacja zasób.Przesłanianie poziom blokowania może znacznie utrudniają równoczesny dostęp do tabela lub indeksu.Na przykład określając tylko poziom tabela blokad w dużej tabela, że dostęp użytkowników silnie może spowodować wąskie gardła, ponieważ muszą czekać blokada tabela poziomu wydana przed uzyskaniem dostępu do tabela.
Istnieje kilka przypadków, gdzie brak zezwolenia strona lub wiersza blokowania może być korzystne, wzorce dostępu są również rozpoznawanych i spójny.Na przykład aplikacja bazy danych używa tabela odnośników, który jest aktualizowany co tydzień w partia procesu.Czytniki równoczesnych dostępu do tabela z udostępnionego blokady (S) i tygodniowych partia aktualizacja uzyskuje dostęp do tabela z blokada wyłączności (X).Wyłączenie strona i blokowania w tabela Wiersz zmniejsza blokowaniem napowietrznych całego tygodnia pozwalając czytniki jednocześnie dostęp do tabela przy użyciu tabela udostępnionego blokad.Po uruchomieniu zadania wsadowego go można wykonać aktualizację efektywne, ponieważ uzyska wyłączne blokada tabela.
Wyłączenie strona i blokowanie wiersza może lub mogą być dopuszczalne ponieważ tygodniowy aktualizacji wsadowego zostanie blok równoczesnych czytniki dostęp do tabela podczas wykonywania aktualizacji.Jeśli zadanie partia zmienia tylko kilka wierszy lub stron, można zmienić poziom blokowania wiersza lub strona blokowania na poziomie, który pozwoli inne sesje odczytu z tabela bez blokowania.Jeśli zadanie partia ma dużej liczby aktualizacji, uzyskania blokada na wyłączność tabela może być najlepszym sposobem zapewnienia zadanie wsadowe zakończy się skuteczne.
Czasami martwychblokada występuje, gdy dwa równoczesne operacje nabycia wiersza blokadas na tej samej tabela, a następnie bblokada ponieważ oba muszą blokada strona.Brak zezwolenia blokad wiersza wymusza jedną z operacji oczekiwania, uniknięcia zakleszczenie.
ziarnistość blokowania używane na indeks zestaw przy użyciu instrukcji ALTER indeks i Utwórz indeks.Ustawienia blokada dotyczą stron indeksu i tabela stron.Ponadto instrukcje CREATE TABLE i ALTER TABLE zestaw blokowanie ziarnistość na ograniczenia klucza podstawowego i unikatowe.Do tyłu zgodności, sp_indexoption systemowa procedura składowana można również ustawić poziom rozdrobnienia.Aby wyświetlić bieżącą opcją blokowania dla danego indeksu, należy użyć funkcja INDEXPROPERTY.Blokowanie poziom strona, blokad poziom wierszy lub kombinacji blokowanie poziom strona i poziom wiersza można niedozwolone dla danego indeksu.
Niedozwolone blokad |
Dostęp do indeksu |
---|---|
Poziom strony |
Wiersz -poziom i tabela -poziom blokad |
poziom wierszy |
Blokowanie poziom strony i poziom tabela |
Strona poziom i wierszypoziom |
Blokady poziom tabeli |