2014-12-02 31 views
0

只是好奇而已。如果兩個作業正在運行,一個插入到一個表中,另一個從表中刪除一些行。這可以並行執行嗎?該表格包含300列,包含50GB數據。如果我們這樣做,它會以僵局結束嗎?可以插入和刪除在oracle中同時完成

+0

也許他們可能會在一些奇怪的情況下索引塊死鎖?但原則上,您可以同時插入和刪除。 – Thilo 2014-12-02 05:42:45

回答

1

鑑於您無法刪除尚未插入的記錄,您可以在同一張表上同時插入和刪除,但不能在同一記錄上插入和刪除。因此,你不能死鎖。你可以鎖定。你需要想出更復雜的東西,讓Oracle陷入僵局。

+0

你確定你不能死鎖嗎?插入和刪除都需要嘗試更新相同的索引塊。如果他們以不幸的順序做這件事,難道不會有僵局嗎? – Thilo 2014-12-03 02:40:28

+0

我明白,如果所有記錄都是鎖本身的一部分,Oracle纔會鎖定塊。因此,在這種情況下,沒有任何超出更改本身的記錄鎖定,因此 - 在這種情況下 - 只有插入和刪除才能導致死鎖。 – tvCa 2014-12-04 12:17:38

相關問題