Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zakleszczenia programu SQL Server między wyborem/aktualizacją lub wielokrotnym wyborem

Może się tak zdarzyć, ponieważ wybór blokuje dwa różne indeksy, podczas gdy aktualizacja blokuje te same indeksy w odwrotnej kolejności. Zaznaczenie wymaga dwóch indeksów, ponieważ pierwszy indeks nie obejmuje wszystkich kolumn, do których musi uzyskać dostęp; aktualizacja wymaga dwóch indeksów, ponieważ jeśli zaktualizujesz kolumnę klucza indeksu, musisz go zablokować.

http://blogs.msdn.com/bartd/archive /2006/09/25/770928.aspx ma fantastyczne wytłumaczenie. Sugerowane poprawki obejmują dodanie indeksu, który obejmuje wszystkie kolumny, których wymaga zaznaczenie, przełączenie na izolację migawek lub wyraźne wymuszenie wybrania w celu przejęcia blokady aktualizacji, której normalnie nie potrzebuje.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Skopiuj wartość zmiany tabeli z 1 kolumny i wstaw ją do tej samej tabeli

  2. tsql zwraca tabelę z funkcji lub procedury magazynu

  3. Naturalne sortowanie z SQL Server

  4. SQL Server 2008 R2 — wyspy i luki

  5. Suma podzapytań w SQL Server