Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Защо един оператор за изтриване на SQL ще доведе до блокиране?

Обичайният отговор:зависи! :-)

Най-вече от това колко трафик имате на вашата система и какво ниво на изолация на транзакциите използвате.

Нивото на изолация контролира как получавате данните си и колко заключване се извършва. Ако никога не сте чували за нивата на изолация на транзакциите, вероятно използвате по подразбиране - READ COMMITTED, което не би трябвало да е лошо избор.

Ако обаче използвате нещо като SERIALIZABLE по някакви причини може да изпитате не задънени блокировки, а забавяния. Таблицата може да бъде заключена за определен период от време, докато вашата единствена транзакция завърши. Ако всички операции работят в този ред (първо изтриване, след това вмъкване, след това избиране), не виждам как наистина трябва да се сблъскате с задънени блокировки.

Прочетете повече за нивата на изолация на SQL транзакция тук на 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. Как мога да конвертирам геометрични данни в географски данни в MS SQL Server 2008?

  2. Как да групирате по месеци от полето Дата с помощта на sql

  3. Кой е най-добрият начин за извършване на страниране на SQL Server?

  4. SQL изключение при свързване към SQL сървър

  5. Прехвърляне на научна нотация (от varchar -> numeric) в изглед