数据库检索性能问题(大量数据)
有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分),但是这样做的话,就是担心内存溢出, 有没有跟好一点的方法啊,,