Oracle
多個表並行插入和刪除?
我在一個事務中刷新了 25 個表。他們中很少有人比其他人刷新更長的時間。我想知道是否有可能在同一筆交易中同時刷新“短時”和“長時”。一個事務只是為了方便在發生故障時回滾所有表上的更改。
尚不確定我是否想實現與“交易”概念相矛盾的東西。
尚不確定我是否想實現與“交易”概念相矛盾的東西。
是的你是。
事務是“原子的”——不可分割。你得到它的全部或沒有。
如果您在其他“位”之前洩漏它的一些“位”,則它不是原子的,也不是事務。
是否必須同時傳遞所有 25 個?
如果沒有,那麼您可能會完全失去事務並讓表在載入時變得可用(大概,刷新過程會以一種或另一種方式鎖定表)。
奇怪的是,我實際上是在 SSIS 中這樣做的。
是的,它是 Microsoft 產品,但天哪,它幫助我按順序和並行執行 ORACLE 任務。
ETL 工具(如 SSIS、Datastage、Talend 等)將允許您容納並行、順序和同步/非同步執行的項目。您可以使用“工作流程”佈局來添加排序、條件和警報。事務控制也變得更易於管理。
絕對建議您試一試 ETL 工具。那裡有很多好東西,我只使用 SSIS,因為它在 Standard 中是免費的,而且我很容易使用、增強和維護。