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

Каква е (са) разликата между NOLOCK и UNCOMMITTED

NOLOCK: Е еквивалентен на READ UNCOMMITTED (източник:MSDN )

NOLOCK или READ UNCOMMITTED Указва, че мръсните четения са разрешени. Не се издават споделени ключалки, които да попречат на други транзакции да променят данните, прочетени от текущата транзакция, а изключителните ключалки, зададени от други транзакции, не блокират текущата транзакция от четене на заключените данни. Разрешаването на мръсни четения може да доведе до по-висока едновременност, но с цената на четене на модификации на данни, които след това се връщат обратно от други транзакции

READ UNCOMMITTED и NOLOCK съветите се отнасят само за заключване на данни. Всички заявки, включително тези with READ UNCOMMITTED and NOLOCK подсказки, придобиват Sch-S (стабилност на схемата) заключвания по време на компилация и изпълнение. Поради това заявките се блокират, когато едновременна транзакция държи Sch-M (модификация на схема) заключване на таблицата



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте „datetime2“ в „date“ в SQL Server (T-SQL примери)

  2. Неправилен синтаксис близо до „GO“

  3. Как да получите йерархичното ниво на тази заявка

  4. Грешка при SSIS връзка - Името на файла не е валидно

  5. Автоматично разрешаване на конфликт при сливане на първичен ключ