OS:的Solaris
數據庫:Informix的DELETE阻塞INSERT
我有其中有2個線程的過程:
線程1應對新的交易和做DB INSERTS
線程2交易與現有的交易和做DB DELETES
問題
線程1不斷在表上添加INSERT(添加新事務)。
線程2根據主鍵
刀片是因爲Informix的錯誤244
其中正在發生由於頁/表鎖定的失敗被連續操作的方式從同一表中刪除(移除到期的交易)。
我想,DELETE正在做一個表鎖而不是行鎖,並阻止INSERTs工作。
有沒有什麼辦法可以防止這種死鎖?
編輯
我發現了另一條線索。 244
錯誤是由SELECT
查詢造成的。
在執行操作之前,insert
和delete
操作都會從頻繁更新的表中執行select
。
分離設置爲COMMITTED READ
。當我從dbaccess手動在該表上執行select
時,發生刪除時,出現同樣的錯誤。
哪個版本的Informix?你有沒有頁面鎖定或行鎖定在桌子上? DELETE語句的形式是什麼? –