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

Инструкции SELECT на SQL Server, причиняващи блокиране

SELECT може да блокира актуализации. Правилно проектираният модел на данни и заявката ще причинят само минимално блокиране и няма да представляват проблем. „Обичайният“ WITH NOLOCK съвет е почти винаги грешен отговор. Правилният отговор е да настроите заявката си така, че да не сканира огромни таблици.

Ако заявката не може да се настройва, първо трябва да вземете под внимание ниво на ИЗОЛАЦИЯ НА МОМЕНТНА СНИМКА , второ, трябва да обмислите използването на МОМЕНТНИ СНИМКИ НА БАЗАТА ДАННИ и последната опция трябва да бъде DIRTY READS (и е по-добре да промените ниво на изолация вместо да използвате NOLOCK HINT). Обърнете внимание, че мръсните четения, както ясно посочва името, ще върнат непоследователни данни (напр. общият ви лист може да е небалансиран).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:трябва ли да използвам таблици information_schema над sys таблици?

  2. Бързо вмъкнете 2 милиона реда в SQL Server

  3. Как да създадете функция на SQL Server, за да обедините множество редове от подзаявка в едно ограничено поле?

  4. SQL Server тригери - ред на изпълнение

  5. Получаване на определена част от низа в T-SQL