我們需要調用外部Web服務來獲取某些數據並將其存儲在本地表中。這個過程需要每10分鐘重複一次,因爲外部Web服務發佈的數據變化很快。作爲其中的一部分,我們需要清除整個表並重新插入由Web服務發佈的當前數據。在截斷/刷新之間讀取數據庫表時出現問題
我們遇到的棘手的情況是:什麼在表截斷時用戶查詢表並沒有結果?這導致無效的結果顯示給用戶。
任何人都可以請給我一個建議嗎?
我們需要調用外部Web服務來獲取某些數據並將其存儲在本地表中。這個過程需要每10分鐘重複一次,因爲外部Web服務發佈的數據變化很快。作爲其中的一部分,我們需要清除整個表並重新插入由Web服務發佈的當前數據。在截斷/刷新之間讀取數據庫表時出現問題
我們遇到的棘手的情況是:什麼在表截斷時用戶查詢表並沒有結果?這導致無效的結果顯示給用戶。
任何人都可以請給我一個建議嗎?
圍繞兩個操作使用事務。像這樣的東西。
Begin transaction;
truncate table
populate the new table
end transaction
快照隔離保證您看到的數據將保持一致。
如果你能創造超過你的表視圖,那麼您可以將數據加載到新表,但需要長時間你需要來填充它,然後只需改變引用新表視圖。