2009-07-25 73 views
0

我有一個運行在ubuntu上的連接到mysql(5.0.51a-3ubuntu5.4-log)的c程序。刪除行重新出現

該程序的主要任務是處理來自一個小(< 5000行)myisam表的記錄。如果該行成功處理,則會被刪除。如果不是,則在後一日重試。一些失敗的嘗試後,它被刪除。刪除使用表主鍵,並且很簡單,即它不指定low_priority,快速或忽略。 該程序使用單獨的連接進行讀取和寫入。

對於需要處理的行,下一次輪詢有時會返回已刪除的記錄。這似乎只發生在由於達到重試限制而被刪除的行上。更令人驚訝的是,有時候下一次輪詢不會返回任何數據,並且之後的輪詢返回刪除的行

這與使用不同連接進行讀取和寫入有關嗎?我希望所有連接能夠立即執行刪除操作,因爲我認爲myisam使用了表鎖來刪除。

回答

1

聽起來像是一個「交易」問題。你是否嘗試過在刪除後明確提交的情況下會發生什麼?

相關問題