日期:2014-05-17  浏览次数:20431 次

关于提高大量数据处理的速度
我现在需要用到两个数据库,两个数据库分别在不同的服务器上
在A数据库中的表查出大概4W条数据,然后根据每条数据到B数据库中查出数值计算再做处理,我做出来处理的速度至少也要1分钟,这个速度太慢了,有没有什么方法快点的!
我现在做的思路是
先到A查出数据,然后再循环根据每条数据到B查出结果再计算,这样速度太慢

------解决方案--------------------
如果是关系数据库的话,那么从A查询出数据只需要执行一条sql命令,然后拼写成目标sql语句到B去查询出结果也只需要一条命令,因此总共需要执行两条sql语句,而不是4万条。

另外,你当然要保证这两个查询中的条件语句都是可以使用到各自表上的索引的。我想这是基础知识。但是好像你并没有考虑到。
------解决方案--------------------
探讨
我现在是A表的Sql语句
select JgxwId,StockCode,StockName,StockTime,Money,BMoney,SMoney,BsnsDpt,StockZpb
,HRange,HRanges
,Focus from Jgxw where StockTime>='2012-04-01' and StockTime<='2012-07-01' order by StockTime
然后再根据A表查出来的字段StockCode,StockTime到B表查询
B表的查询语句是
select Highs from StockDaily where StockCode=@in_StockCode and DataTimes=@in_StockCode order by DataTimes