执行计划突变导致的SQL慢

相同环境下同一条update语句,慢的时候执行了1.5天,快的时候2个小时就执行完了,通过执行@awrsqrpt.sql脚本抓取当时的执行计划,发现有如下不同:

慢的情况下的执行计划:

Id Operation Name Rows Bytes Cost (%CPU)Time
0 UPDATE STATEMENT    8 (100) 
1    UPDATE ZJWB_ANJIANZT     
2      NESTED LOOPS      
3        NESTED LOOPS  1 61 8 (13)00:00:01
4          VIEW VW_NSO_1 1 27 5 (20)00:00:01
5            SORT UNIQUE  1 30 5 (20)00:00:01
6              SORT GROUP BY  1 30 5 (20)00:00:01
7                TABLE ACCESS BY INDEX ROWIDZJWB_ANJIANZT 1 30 4 (0)00:00:01
8                  INDEX RANGE SCAN IX_CHULIBJ_ZJWB_ANJIANZT 1  3 (0)00:00:01
9          INDEX RANGE SCAN IX_CHULIBJ_ZJWB_ANJIANZT 1  2 (0)00:00:01
10        TABLE ACCESS BY INDEX ROWID ZJWB_ANJIANZT 1 34 3 (0)00:00:01

快的时候的执行计划:

Id Operation Name Rows Bytes TempSpcCost (%CPU)Time
0 UPDATE STATEMENT     147K(100) 
1    UPDATE ZJWB_ANJIANZT      
2      HASH JOIN  12G699G39M147K (83)00:29:27
3        VIEW VW_NSO_1 1053K27M 14580 (3)00:02:55
4          SORT UNIQUE  1053K27M 14580 (3)00:02:55
5            SORT GROUP BY  1053K27M81M14580 (3)00:02:55
6              TABLE ACCESS FULLZJWB_ANJIANZT 1062K27M 6492 (3)00:01:18
7        TABLE ACCESS FULL ZJWB_ANJIANZT 1150K38M 6494 (3)00:01:18

并不是所有的表创建了索引就一定快,如果表上某个列的值唯一性比较强,创建索引比较好,但是如果重复性比较高的话,不适合创建索引。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10322123/viewspace-611954/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10322123/viewspace-611954/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值