sql >> Databáze >  >> RDS >> Sqlserver

Zablokování serveru SQL mezi výběrem/aktualizací nebo vícenásobným výběrem

To se může stát, protože výběr zruší uzamčení dvou různých indexů, zatímco aktualizace zruší uzamčení stejných indexů v opačném pořadí. Select potřebuje dva indexy, protože první index nepokrývá všechny sloupce, ke kterým potřebuje přístup; aktualizace potřebuje dva indexy, protože pokud aktualizujete klíčový sloupec indexu, musíte jej uzamknout.

http://blogs.msdn.com/bartd/archive /2006/09/25/770928.aspx má fantastické vysvětlení. Navrhované opravy zahrnují přidání indexu, který pokrývá všechny sloupce, které výběr potřebuje, přepnutí na izolaci snímků nebo explicitní vynucení výběru, aby uchopil aktualizační zámek, který by normálně nepotřeboval.



  1. Existuje nějaké protokolování chyb, když dotaz mysql selže?

  2. Mysql Auto-incrementing int podobných dat

  3. BadImageFormatException při používání Oracle Client 64bit a Visual Studio 2010!

  4. Odstranění duplicitních řádků z oracle