oracle数据库性能优化- 执行计划异常案例总结

本文探讨了SQL执行计划中常见的异常情况,包括hash连接的限制、驱动表选择的影响、会话参数对成本评估的影响等,并通过具体案例展示了如何诊断和解决这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. hash 连接仅仅能用在等值连接条件

2. 驱动表的选择对运行效率及性能有影响

3. 驱动表和被驱动表最多被訪问一次

4 会话级别修改参数OPTIMIZE_mode为first rows 10导致cbo错误评估全表扫描大表的COST值导致 执行计划异常。

5 绑定变量窥视,导致执行计划异常(继承第一次的执行计划)

6 11.2版本使用了新特性feedback导致执行计划异常。

 

 

30000,,30000 ,190000;--HASH 连接,没有好的索引,

 

 

案例 1 access过滤采用错误的谓词。

select count(1) FROM T1 WHERE ID1>20 AND ID1>10

执行计划为 使用id1>10 ACCESS,使用ID2>20 FILTER,明显有问题。

 

案例 2 使用不当的索引进行了bitmap转换

select *from t1 where iddate>=sysdate-1 and idname ='123';

执行计划采用了IDDATE列 和 idname列 bitmap转换,正确的执行计划应该为 ID1DATE 进行ACCESS,IDNAME=‘123’ 进行FILTER。

案例 3 统计信息不正确采用错误的索引 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值