ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一个性能问题的解决

一个性能问题的解决

原创 Linux操作系统 作者:jlandzpa 时间:2019-06-17 19:57:06 0 删除 编辑

现场和问题:
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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 设置口令复杂度
请登录后发表评论 登录
全部评论

注册时间:2001-10-12

  • 博文量
    268
  • 访问量
    171182