ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 执行计划突变导致的SQL慢

执行计划突变导致的SQL慢

原创 Linux操作系统 作者:learninfly 时间:2009-08-12 10:09:09 0 删除 编辑

相同环境下同一条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 ROWID ZJWB_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 TempSpc Cost (%CPU) Time
0 UPDATE STATEMENT         147K(100)  
1    UPDATE ZJWB_ANJIANZT          
2      HASH JOIN   12G 699G 39M 147K (83) 00:29:27
3        VIEW VW_NSO_1 1053K 27M   14580 (3) 00:02:55
4          SORT UNIQUE   1053K 27M   14580 (3) 00:02:55
5            SORT GROUP BY   1053K 27M 81M 14580 (3) 00:02:55
6              TABLE ACCESS FULL ZJWB_ANJIANZT 1062K 27M   6492 (3) 00:01:18
7        TABLE ACCESS FULL ZJWB_ANJIANZT 1150K 38M   6494 (3) 00:01:18

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

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

上一篇: aa
请登录后发表评论 登录
全部评论

注册时间:2009-07-21

  • 博文量
    38
  • 访问量
    38125