我有一個數據庫表,我使用它作爲隊列系統,在這個數據庫表中,彼此交談的單獨進程創建並讀取表中的條目。例如,當用戶啓動搜索時,會創建一個條目,然後每隔一秒或兩秒運行的另一個進程將拾取該新條目,更新狀態,然後執行搜索,並在搜索完成後再次更新條目。這一切似乎與每小時數以千計的搜索很好地工作。在大型記錄集上鎖定問題
但是,我有一個主管理員屏幕,可以查看所有這些「工作」的狀態,但運行速度非常緩慢。我基本上在最後一個小時內返回表中的所有條目,以便我可以關注發生了什麼。我認爲我遇到了某種鎖定問題。我只需要閱讀每個條目,並不關心它的數據是否有點過時。我只是使用標準的'Select * from Table'語句,所以在作業不斷更新數據時,可能會在返回數據之前等待其他鎖定過期。
這種被某種遊標一次一行地返回每行一次會好嗎?任何其他想法?
謝謝
謝謝,運作良好。 99.9%的準確性沒有問題,只是爲了讓人們瞭解一切如何運行。 – Damian 2012-07-16 21:40:21