0
我正在運行一個非常簡單的查詢而沒有任何where子句。它是假脫機文件中的全表選擇。查詢需要15個小時才能生成假脫機文件。假脫機文件大小是15G。選擇查詢需要很長時間
- 表大小9G
- SGA_MAX_SIZE-9G
- db_cache大小 - 5G
- 共享池的大小2G
- PGA大小5G
表都沒有索引 查詢如下:
SET head OFF; SET feed OFF; spool /data13/reptest/rep.dat select LEA_DWH_REPAYSCH.EMI_NUM || '~' || LEA_DWH_REPAYSCH.FINNESS_ACCT_NUM|| '~' || to_char(LEA_DWH_REPAYSCH.MISDATE,'dd/mm/yyyy')|| '~' || LEA_DWH_REPAYSCH.PRINCOMP|| '~' || LEA_DWH_REPAYSCH.INTCOMP|| '~' || LEA_DWH_REPAYSCH.EXINTCOMP|| '~' || LEA_DWH_REPAYSCH.EMI_AMT|| '~' || LEA_DWH_REPAYSCH.INTCOMP_RECD|| '~' || LEA_DWH_REPAYSCH.PRINCOMP_RECD|| '~' || LEA_DWH_REPAYSCH.TOTAL_RECDAMT|| '~' || LEA_DWH_REPAYSCH.EXINTCOMP_RECD|| '~' || LEA_DWH_REPAYSCH.BILLFLAGE|| '~' || LEA_DWH_REPAYSCH.ADVFLAG|| '~' || to_char(LEA_DWH_REPAYSCH.DUEDATE,'dd/mm/yyyy')|| '~' || to_char(LEA_DWH_REPAYSCH.BILLEDDATE,'dd/mm/yyyy')|| '~' || to_char(LEA_DWH_REPAYSCH.PAYMENTDATE,'dd/mm/yyyy')|| '~' || LEA_DWH_REPAYSCH.OVERDUE_AMT|| '~' || to_char(LEA_DWH_REPAYSCH.OVERDUE_DATE,'dd/mm/yyyy') from FIN_LEA.LEA_DWH_REPAYSCH; spool off;
*查詢執行計劃 計劃哈希值:2170819202
------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 192 | 4 (25)| 00:00:01
| 1 | TABLE ACCESS FULL | LEA_DWH_REPAYSCH | 1 | 192 | 4 (25)| 00:00:01
------------------------------------------------------------------------------------
。