我有一個奇怪的情況。我有不斷被我們的代碼的不同部分和數以千計的客戶訪問的表,所以我們在做簡單的更新和插入表時使用了事務。問題是我們不斷收到死鎖錯誤。任何人有任何想法如何我可以緩解這個問題?需要死鎖幫助
需要死鎖幫助
回答
死鎖可能出現的原因有很多和它們的組合:
可憐的架構設計
不適合您的查詢索引 工作量
寫得不好TSQL
進取事務隔離級別和/或長時間運行的開放式轉換sactions
普爾應用訪問模式
低規格或配置不正確 硬件
所有這些是常見的。
我建議你閱讀
將與此合作。我沒有編寫代碼,但我要調試它,這就是爲什麼我需要這方面的幫助。我嘗試使用thread.sleep方法,使用了一個transactionscope對象,但這並沒有太大幫助,因此我向那些更熟悉處理這種情況的人尋求幫助 – Kobojunkie 2010-10-25 22:19:56
我確實有一個問題,那麼打開Row Versioning ?這會有幫助嗎? – Kobojunkie 2010-10-25 23:11:56
這個問題並不特別 - 當開發人員不太瞭解鎖定工作原理時,通常會發現這個問題,並且只是將事務視爲「黑盒子」,並期望他們的解決方案能夠擴展。
米奇在關於支付專家的評論中是正確的 - 這對於任何解決方案都是太大的問題。您將需要設置導致死鎖的查詢痕跡,並且您將不得不分析從索引到表設計,事務隔離級別以及查詢模式的所有內容。
我建議從SQL Server Profiler開始並設置一個會生成死鎖圖的跟蹤。這至少可以識別你的問題查詢和死鎖的資源。設置另一個跟蹤查詢緩慢的查詢(> 100ms)並加快速度。查詢運行時間越長,爭用鎖定的概率就越高。
另外,請注意,SQL Profiler在新手的手中可能會讓事情變得更糟...... – 2010-10-23 17:30:07
你必須學習一段時間吧? :-) – 2010-10-23 17:51:56
我微笑,因爲它不是我的系統 – 2010-10-23 17:52:11
- 1. 需要幫助調試互斥死鎖
- 2. 幫助死鎖分析
- 3. 需要幫助鎖定使用VBA
- 4. 需要幫助
- 5. 需要幫助
- 6. 需要幫助
- 7. 需要Mysql死鎖解釋
- 8. 幫助疑難解答死鎖
- 9. 需要javascript幫助
- 10. GetShortPathName需要幫助
- 11. 需要幫助Ordereddict
- 12. 需要setFilter幫助
- 13. 需要幫助NSFetchRequest
- 14. 需要幫助SQL
- 15. cssSandpaper.js幫助需要?
- 16. SQL幫助需要
- 17. 需要EJB幫助
- 18. 需要幫助javascript
- 19. ehcache幫助需要
- 20. subprocess.Popen幫助需要
- 21. 需要jqgrid幫助
- 22. HttpWebrequest需要幫助
- 23. 需要幫助suPHP
- 24. NSPredicate需要幫助
- 25. 需要JavaScript幫助
- 26. 需要幫助IE8
- 27. 需要JavaScript幫助
- 28. jquery幫助需要
- 29. 需要strlen幫助
- 30. JSON需要幫助
,如果你有 「數以千計的客戶,」 我建議你花錢找人來幫助你解決你的問題 – 2010-10-23 17:17:53
你給我覺得你的問題太抽象描述了。你如何檢測到什麼地方發生了死鎖?你如何訪問數據庫(LINQToSQL,DBAdapters或其他)?你使用什麼:你是否實現了syncronized訪問還是樂觀併發?提供更多的細節。 – 2010-10-23 17:20:44
我接受率?我需要關於如何解決僵局問題的建議。我正在努力解決問題,但遇到困難,需要幫助解決問題時可能採取的其他措施。 – Kobojunkie 2010-10-23 17:21:17