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

SQL Server - [ИЗБОР] заключва ли [АКТУАЛИЗАЦИЯ]?

Да - до известна степен.

Колко дълго SELECT държи на споделена ключалка зависи от нивото на изолация на транзакцията:

  • READ UNCOMMITTED - изобщо не се придобива споделена ключалка - UPDATE не е блокиран
  • READ COMMITTED - споделеното заключване се придобива само за времето на четене на данните - UPDATE може да бъде блокиран за много кратък период от време
  • REPEATABLE READ и SERIALIZABLE - споделеното заключване е придобито и задържано до края на транзакцията - UPDATE е блокиран до SELECT транзакцията приключва

Технически, UPDATE операторът първо получава UPDATE заключване - което е съвместимо със споделено заключване (както се използва от SELECT ) - за времето, докато чете текущите стойности на редовете, които трябва да се актуализират.

След като това стане, Update заключване се ескалира до изключително заключване за новите данни, които да бъдат записани в таблицата.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 метода за свързване на MDF файл към SQL Server

  2. JSON_VALUE() Примери в SQL Server (T-SQL)

  3. Конфигуриране на доставка на регистрационни файлове на SQL Server

  4. Актуализиране на заявка с корелирана подзаявка

  5. Намерете точно съвпадение с помощта на пълнотекстово търсене