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

Блокировки на SQL Server между избор/актуализация или множество избори

Това може да се случи, защото избраното заключва два различни индекса, докато актуализацията блокира същите индекси в обратен ред. Select се нуждае от два индекса, тъй като първият индекс не покрива всички колони, до които трябва да има достъп; актуализацията се нуждае от два индекса, защото ако актуализирате ключова колона на индекс, трябва да я заключите.

http://blogs.msdn.com/bartd/archive /2006/09/25/770928.aspx има фантастично обяснение. Предложените корекции включват добавяне на индекс, който покрива всички колони, от които избраният се нуждае, превключване към изолация на моментни снимки или изрично принуждаване на избрания да вземе заключване за актуализиране, от което обикновено не би се нуждаел.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е да промените типа данни Date в Sql Server

  2. Необходимо ли е да се капсулира един оператор за сливане (с вмъкване, изтриване и актуализиране) в транзакция?

  3. Възстановяване на база данни от .mdf и .ldf файлове на SQL Server 2008

  4. Запазването на XML съдържание с кодиране ISO-8859-1 с помощта на Entity Framework в XML колоната на SQL Server 2008 дава грешка при кодиране

  5. Най-добри отговори на 5 горящи въпроса относно функцията COALESCE в SQL Server