数据库检索性能问题(大量数据)

fength2004 2007-01-23 12:32:44
有2张表, A,B , A的数量级有40万件,B的数量级有100万件,

P:SELECT A.KEY_A,A.AMOUNT FROM A WHERE (A.复杂条件), 检索A的对象数据有1万件左右,

Q:SELECT B.KEY_B,SUM(B.AMOUNT)AMOUNT FROM B GROUP BY B.KEY_B, 分组后对象数据有10万件,
方法1SQL:
SELECT A.KEY_A, A.AMOUNT, BB.AMOUNT
FROM A,(SELECT B.KEY_B,SUM(B.AMOUNT)AMOUNT FROM B GROUP BY
B.KEY_B) BB
WHERE (A.复杂条件), A.KEY_A = BB.KEY_B order by A.KEY_A
耗时5分多,时间太久
方法2,把Q先检出来,放在内存中,然后根据P1件件循环,耗时2分多,时间主要是化在内存里取 BB.AMOUNT 上了(1.5分),但是这样做的话,就是担心内存溢出, 有没有跟好一点的方法啊,,
...全文
216 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tgm78 2007-01-23
建议第一次返回的结果集相对的少
回复
yzh963 2007-01-23
使用分区表试试
回复
bobfang 2007-01-23
将Q查询出的放到临时表中或许速度可以快些。
回复
相关推荐
发帖
Oracle 高级技术
创建于2007-09-28

3406

社区成员

Oracle 高级技术相关讨论专区
申请成为版主
帖子事件
创建了帖子
2007-01-23 12:32
社区公告
暂无公告