buffer sort Oracle,sql语句 buffer sort cost太大的性能问题

sql本身没有问题,因为这是应用程序嵌套的一个sql语句,一直用着没问题,最近才出现问题。

这个sql语句如果使用 aab001 的单键索引,不使用 pk_ac13主键索引的话,查询非常快,不不会出现 笛卡尔积的合并。

这个问题已经解决了,怀疑是histogram的问题,因为我只收集了列的基本信息,不收集histogram信息,查询就可以了。

谢谢大家回帖。附上解决之后的执行计划

| Id  | Operation                        | Name            | Rows  | Bytes | Cost (%CPU)| Time     |

----------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT                 |                 |       |       |  1808 (100)|          |

|   1 |  SORT GROUP BY                   |                 |     1 |   167 |  1808   (1)| 00:00:22 |

|   2 |   NESTED LOOPS                   |                 |     1 |   167 |  1807   (1)| 00:00:22 |

|   3 |    NESTED LOOPS ANTI             |                 |     1 |   134 |  1804   (1)| 00:00:22 |

|   4 |     NESTED LOOPS                 |                 |     1 |   115 |  1802   (1)| 00:00:22 |

|   5 |      NESTED LOOPS SEMI           |                 |     1 |    56 |     5   (0)| 00:00:01 |

|*  6 |       TABLE ACCESS BY INDEX ROWID| AB01            |     1 |    37 |     3   (0)| 00:00:01 |

|*  7 |        INDEX RANGE SCAN          | PK_AB01         |     1 |       |     2   (0)| 00:00:01 |

|*  8 |       TABLE ACCESS BY INDEX ROWID| AB02            |     1 |    19 |     2   (0)| 00:00:01 |

|*  9 |        INDEX RANGE SCAN          | PK_AB02         |     1 |       |     1   (0)| 00:00:01 |

|* 10 |      TABLE ACCESS BY INDEX ROWID | AC13            |     8 |   472 |  1797   (1)| 00:00:22 |

|* 11 |       INDEX RANGE SCAN           | I_AC13_AAB001   | 50424 |       |   218   (1)| 00:00:03 |

|* 12 |     TABLE ACCESS BY INDEX ROWID  | AC10            | 48882 |   906K|     2   (0)| 00:00:01 |

|* 13 |      INDEX RANGE SCAN            | IDX_AC10_BAB221 |     1 |       |     1   (0)| 00:00:01 |

|* 14 |    INDEX RANGE SCAN              | PK_AB15         |     1 |    33 |     3   (0)| 00:00:01 |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值