2016-04-27 23 views
0

我有處理情況查詢執行時間(性能問題)需要執行補丁腳本以300萬排data.The當前查詢執行時間不能滿足幾行預期(18000),這是需要大約4小時(在部署實況之前測試數據)。 補丁腳本實際上在循環中選擇了數百萬行數據並根據規範進行更新,我只是想知道多長時間可能需要數百萬行數據,因爲只需要18000行大約需要4小時。如何在Oracle

克服這個問題即時決定創建臨時表保存整個select語句的數據,並使用臨時表補丁的過程,其中的過程可能會更快一點比較選擇並繼續進行更新。

還有沒有其他的方法,我可以用它來處理這種情況?任何建議和解決方法。

(由於公司政策IM無法在這裏發表的PL/SQL腳本)

回答

0

似乎沒有人能回答我在這裏的問題,我發表我的答案。 在oracle中有並行執行,它允許跨多個線程傳播單個SQL語句的處理。

因此,通過使用這種方法我解決了我的長時間運行的查詢(4小時)至6 minz ..

欲瞭解更多信息: https://docs.oracle.com/cd/E11882_01/server.112/e25523/parallel002.htm http://www.oracle.com/technetwork/articles/database-performance/geist-parallel-execution-1-1872400.html

+0

這是一個有點難以割捨加快提示沒有查詢的查詢。除了並行執行它外,您還應該查看查詢的執行計劃(請參閱oracle文檔中的解釋)。 –

+0

@UweAllner是的,我也研究過這個,並且改變了執行計劃,所以現在它更快,然後我原來的查詢,感謝您的評論。 – theinarasu