设为首页 加入收藏

TOP

优化SQL一条(一)
2014-11-23 22:21:09 来源: 作者: 【 】 浏览:44
Tags:优化 SQL 一条

昨天大半夜接到一条SQL,反应说很慢,我非常愤怒,经过询问,三个月才需要跑这个SQL一次,你tm非要在马上法定节假日了 跑它吗?

SQL如下(巨长无比)

select * from table(dbms_xplan.display_cursor(lower('0ah5a8dbk28fh'))); 

PLAN_TABLE_OUTPUT 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
SQL_ID  0ah5a8dbk28fh, child number 0 
------------------------------------- 
INSERT INTO END_TRANS_ACCOUNT( BRANCH_NO ,COST_CENTER ,CNTR_NO ,IPSN_NO 
,POL_CODE ,ACCOUNT_NO ,I_INFO_GROUP_FLAG ,SG_NO ,CURRENCY_CODE 
,VALID_DATE ,CNTR_STAT ,INVALID_DATE ,ENDORSE_STAT ,REDUCE_START_DATE 
,GROUP_FLAG ,SET_STAT ,FREEZE_STAT ,DEAD_DATE ,DEAD_CODE ,MED_DATE 
,ADJ_STOP_CAUSE ,ADJ_STOP_DATE ,DUTY_STOP_DATE ,IPSN_AGE ,IPSN_SEX 
,IPSN_NUM ,I_INFO_PAY_ITRVL ,I_INFO_PAY_DUR ,I_INFO_PREM 
,I_INFO_INSUR_DUR ,FACE_AMNT ,EXPIRY_AMNT ,SUM_ASS_AMNT ,FEE_ITRVL 
,REV_GRNT ,REV_GRNT_RATE ,RIDER_INFO ,RIDER1_CNTR_NO ,RIDER2_CNTR_NO 
,RIDER3_CNTR_NO ,RIDER1_SA ,RIDER2_SA ,ACCOUNT_V_B ,ACCOUNT_V_E 
,BONUS_RATIO ,CLAIM_FLAG ,PREM_PAID_NUM ,LAST_PREM_DATE ,LAST_PREM 
,YEAR_PREM_SG ,YEAR_PREM_RG ,FTP_PREM ,SUM_PREM ,OCC_AMNT ,PALBD_AMNT 
,FEE_INCOME ,FEE_INCOME_TOTAL ,BONUS_PERSISTENCY 
,BONUS_PERSISTENCY_TOTAL ,BONUS_CREDITED ,INV_GRNT_RATE 
,BONUS_REV_ITRVL ,BONUS_SUM ,BONUS_AMNT ,PAID_AMNT ,PAID_ANN_AMNT 
,PAID_DEATH_AMNT ,PAID_DIS_AMNT ,PAID_MED_AMNT ,PAID_MED_REIMB 
,PAID_EXP_AMNT ,PAID_GRANT_AMNT , 

Plan hash value: 2746060288 

--------------------------------------------------------------------------------------------------------------------------------- 
| Id  | Operation                                 | Name                        | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     | 
--------------------------------------------------------------------------------------------------------------------------------- 
|   0 | INSERT STATEMENT                          |                             |       |       |       |  2581K(100)|          | 
|   1 |  LOAD TABLE CONVENTIONAL                  |                             |       |       |       |            |          | 
|   2 |   UNION-ALL                               |                             |       |       |       |            |          | 
|   3 |    NESTED LOOPS OUTER                     |                             |     8 |  1264 |       |    24  (17)| 00:00:01 | 
|*  4 |     HASH JOIN OUTER                       |                             |     8 |   912 |       |    24  (17)| 00:00:01 | 
|*  5 |      HASH JOIN OUTER                      |                             |     8 |   840 |       |    20  (15)| 00:00:01 | 
|*  6 |       HASH JOIN OUTER                     |                             |     8 |   744 |       |    17  (18)| 00:00:01 | 
|*  7 |        HASH JOIN OUTER                    |                             |     8 |   648 |       |    13  (16)| 00:00:01 | 
|*  8 |         HASH JOIN OUTER                   |                             |     8 |   552 |       |    10  (20)| 00:00:01 | 
|   9 |          MERGE JOIN OUTER                 |                             |     8 |   456 |       |     6  (17)| 00:00:01 | 
|  10 |           TABLE ACCESS BY INDEX ROWID     | PRE_INSUR_APPL              |     8 |   360 |       |     2   (0)| 00:00:01 | 
|  11 |            INDEX FULL SCAN                | PRIMARY_KEY                 |     8 |       |       |     1   (0)| 00:00:01 | 
|* 12 |           SORT JOIN                       |                             |     8 |    96 |       |     4  (25)| 00:00:01 | 
|  13 |            TABLE ACCESS FULL              | TMP_FACE_AMNT_APPLID        |     8 |    96 |       |     3   (0)| 00:00:01 | 
|  14 |          TABLE ACCESS FULL                | TMP_ACCOUNT_V_E_APPLID      |     8 |    96 |       |     3   (0)| 00:00:01 | 
|  15 |         TABLE ACCESS FULL                 | TMP_YEAR_PREM_RG_APPLID     |     8 |    96 |       |     3   (0)| 00:00:01 | 
|  16 |        TABLE ACCESS FULL                  | TMP_YEAR_PREM_SG_APPLID     |     8 |    96 |       |     3   (0)| 00:00:01 | 
|  17 |       TABLE ACCESS FULL                   | TMP_SUM_PRE_APPLID          |     8 |    96 |       |     3   (0)| 00:00:01 | 
|  18 |      TABLE ACCESS FULL                    | TMP_INSUR_DUR_APPLID        |     8 |    72 |       |     3   (0)| 00:00:01 | 
|  19 |     TABLE ACCESS BY INDEX ROWID           | TMP_COST_CENTER_CNTRNO      |     1 |    44 |       |     0   (0)|          | 
|* 20 |      INDEX UNIQUE SCAN                    | KEY_COST_CENTER_CNTRNO      |     1 |       |       |     0   (0)|          | 
|* 21 |    HASH JOIN RIGHT OUTER                  |                             |  4326K|  1390M|       |   613K  (2)| 02:02:48 | 
|  22 |     TABLE ACCESS FULL                     | TMP_COST_CENT
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SQLServer查找全部重复记录 下一篇plsql7连接oracle11G看不到jobs列..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: