一个性能问题的解决

现场和问题:
A:p690 aix5l oracle9.2.0.5 rac rbo 上级单位 数据库不能随便改变优化模式
B:p690 aix5l oracle9.2.0.5 rac rbo 数据库不能随便改变优化模式,应用程序也不能做改动
C:p630 主要做测试用的 oracle8.1.7.4 rbo

B上通过database link建了一个视图view_b访问A上的一个大表table_a.
在B上使用如下语句:
select 字段列表 from view_b where sfzh= :a or sfzh=:b 其中sfzh上已经有索引.
很慢,需要6分钟,显然是走了全表扫描.

解决办法:
由于限制较多,所以解决方法也比较变态.
1)在C上通过database link建了一个视图view_c访问B上的一个大表view_b.
2)在B上通过database link建了一个视图view_new访问C上的一个大表view_c.
sql语句执行是毫秒级.

结论:由于数据库没有使用cbo,导致很多情况下优化器走了错误的执行路径. 换个版本也许能够解决问题.


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

转载于:http://blog.itpub.net/936/viewspace-60664/

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值