2015-05-26 135 views
-1

SQL調優:我有一個腳本,它有3個create table語句:一個是從同一個表中創建了兩個新列添加,另兩個是臨時表創建語句和2更新語句,上次運行查詢需要13個小時才能完成。我已經有專欄的索引,使用並行和完整的提示。我的創建表有group by,從兩個非常大的表格的兩列過濾數據。我應該調整這個查詢的第一步?我應該採取一個創建表代碼,手動運行它,看看它要花多長時間,然後決定使用什麼,即提示或什麼?需要一種方法來開始我的步驟...需要SQL調整思路:查詢到很長一段時間

+0

至少,你需要發佈查詢和解釋計劃,以提供足夠的信息讓知情的答案。 – Allan

+0

解釋計劃 CREATE TABLE AR1_CREDIT_DEBIT_LINK_DOX PARALLEL 4 NOLOGGING AS SELECT /* + PARALLEL(A,4)FULL(A)*/ A. *, TO_DATE(NULL)L3_CDL_CREATION_DATE, TO_DATE(NULL)L3_CDL_REVERSAL_DATE FROM AR1_CREDIT_DEBIT_LINK一個; SELECT * FROM表(DBMS_XPLAN.DISPLAY); –

+0

ID COST | 0 | CREATE TABLE語句| | 510M | 47G | 234K | | 5 | TABLE ACCESS FULL | AR1_CREDIT_DEBIT_LINK | 510M | 47G | 122K | 1 | 862 | Q1,00 | PCWP | –

回答

0

爲什麼沒有永久創建表?您可以將它們作爲腳本的第一步擦除它們?只需在本地模式中創建它們,而不是程序模式。我們這樣做的報告需要一段時間才能運行,我們必須按季度運行。