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

Jaka jest (są) różnica między NOLOCK a UNCOMMITTED?

NOLOCK: Jest odpowiednikiem READ UNCOMMITTED (źródło:MSDN )

NOLOCK lub READ UNCOMMITTED Określa, że ​​dozwolone są nieczyste odczyty. Nie są wydawane żadne blokady współdzielone, aby uniemożliwić innym transakcjom modyfikowanie danych odczytanych przez bieżącą transakcję, a blokady na wyłączność ustawione przez inne transakcje nie blokują odczytu zablokowanych danych przez bieżącą transakcję. Zezwolenie na brudne odczyty może spowodować wyższą współbieżność, ale kosztem odczytu modyfikacji danych, które są następnie wycofywane przez inne transakcje

READ UNCOMMITTED i NOLOCK wskazówki dotyczą tylko blokad danych. Wszystkie zapytania, w tym te with READ UNCOMMITTED and NOLOCK podpowiedzi, uzyskaj blokady Sch-S (stabilność schematu) podczas kompilacji i wykonywania. Z tego powodu zapytania są blokowane, gdy współbieżna transakcja blokuje tabelę Sch-M (modyfikacja schematu)



  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 obszary, które skorzystają na wykorzystaniu narzędzia do monitorowania wydajności serwera SQL

  2. wstaw plik XML do SQL przez SSIS

  3. Zapytanie SQL Server Xml z wieloma przestrzeniami nazw

  4. Zapobiegaj wstawianiu nakładających się zakresów dat za pomocą wyzwalacza SQL

  5. Jakie są różnice między CHECKSUM() i BINARY_CHECKSUM() i kiedy/jakie są odpowiednie scenariusze użycia?