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

Dlaczego pojedyncza instrukcja usuwania SQL spowoduje zakleszczenie?

Zwykła odpowiedź:to zależy! :-)

Głównie od tego, ile ruchu masz w systemie i jakiego poziomu izolacji transakcji używasz.

Poziom izolacji kontroluje sposób pobierania danych i stopień blokowania. Jeśli nigdy nie słyszałeś o poziomach izolacji transakcji, prawdopodobnie używasz domyślnego — CZYTAJ ZATWIERDZONE, co nie powinno być takie złe. wybór.

Jeśli jednak użyjesz czegoś takiego jak SERIALIZABLE z jakichkolwiek powodów możesz doświadczyć nie impasu, ale opóźnień. Stół może być zablokowany na pewien czas, dopóki Twoja jedna transakcja nie zostanie zakończona. Jeśli wszystkie operacje działają w tej kolejności (najpierw usuń, następnie wstaw, a następnie wybierz), naprawdę nie widzę, jak powinieneś napotkać zakleszczenia.

Przeczytaj o poziomach izolacji transakcji SQL tutaj na www.sql-server- performance.com .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pomoc dotycząca wyzwalania serwera sql - ta sama aktualizacja tabeli

  2. Utwórz relację w SQL Server 2017

  3. SQL Server:Sprawdź referencje podczas zmiany sygnatur funkcji/procedur

  4. Jak korzystać z szablonów w SQL Server Management Studio (SSMS) — samouczek SQL Server / TSQL część 16

  5. Rekurencyjne kwerendy tej samej tabeli w SQL Server 2008