每隔幾個小時,我需要刪除表中的幾千條記錄,然後立即插入幾千條記錄來替換已刪除的記錄。偶爾會有應用程序讀取這些數據。我不希望這些應用程序執行表讀取操作並獲取一些舊記錄以及一些新的記錄,而且我不希望這些應用程序在所有記錄插入之前都讀取過。進行大量的表更改,似乎同時發生
我想從我的C#代碼中刪除和插入。我會將它們合併成一個「Begin」和「End」塊,並將它們一次全部發送給Oracle ...除非它的大小可以超過100k。這似乎太大了。所以在下一個循環中運行多個語句似乎是我的最佳選擇。但似乎會導致我的表在循環運行時擁有部分舊數據和部分新數據。這是我需要避免的。
我該如何執行刪除操作和後續插入操作,以便它們看起來像是在讀取表格的應用程序中同時發生的,因此可以避免上述不希望發生的問題?
一筆鉅額交易? – jarlh
首先在SP中執行此操作,而不是使用C#代碼,並且事務似乎是正確的方法...您可以在刪除和插入完成時執行事務 – Viru
您是否計時了100k加上發送時間來查看需要多長時間? – Paddy