我有一個代碼,其中有循環來處理數百萬條記錄。代碼如下所示:Oracle最好的方法來克服循環時間
FOR C1
IN (SELECT a
FROM tbl1
WHERE <some conditions>)
LOOP
/*Some processing which took less than a sec to process a record*/
/*Call to procedures and functions.*/
END LOOP;
上面的循環代碼可以在4秒內處理大約9條記錄。我有數百萬條記錄來循環處理。
執行此任務的最佳方法是什麼? 我可以並行執行循環內的邏輯嗎?
最好的方法是並聯,但必須在sql代碼之外進行。 – TomTom 2014-11-01 20:00:57
您可以請更新我如何轉換此代碼的並列? – jaychapani 2014-11-01 20:02:58
可以請你閱讀我寫的東西:例如:你不要在SQL中這樣做 - 你基本上打開多個連接並在select中過濾以不選擇全部(但是是每個連接中的一部分)。然後你可以並行地執行multipeol語句。 – TomTom 2014-11-01 20:04:36