关于主从表查询的性能优化问题。

[复制链接]
查看11 | 回复5 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
两个主表A(20000条),B(40000条)结合,主健控制,结果在20000条数据左右
其中有2个子段是三种CODE,要到2个从表里面去取显示用名称,当然每种字段只会对应一个名称。
还有一个字段要从另一张100000条数据左右的表里面取得该字段范围内的最大值
这种要求怎么做才能让性能最好?
现在的做法是做个View,结合了5张表。。。。。。
替代方案是做View结合两张主表,三个特殊字段写Function,传参数进去取得返回值。。当然在Function里面就是查询那三个表
两个都测试了下,性能都不咋地。2分钟以上才能出结果
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
SQL问题务必随贴附上建表及模拟数据insert脚本,方便他人解答~
http://www.itpub.net/thread-1063592-1-1.html
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
楼主的签名好恐怖啊!
把你的表结构贴出来,说明表间关系。
你建完VIEW之后,查询VIEW数据的时候带什么样的查询条件?如果有高效的过滤,想办法PUSH到VIEW的定义里面去。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
不懂,但是要帮LZ顶一下
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
很简单,全都use_hash 就可。
select /*+use_hash(a b c d e)*/ ...
from a , b ,c ,d ,e
where
..
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
除了大表(100000)外,其它use_hash
select /*+use_hash(a b c d) use_nl(e) */ ...
from a , b ,c ,d ,e
where
..
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行