大量数据读取问题.请教!!(50分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个数据库,里面有50多万条记录,现在我需要把所有数据读出来进行统计,于是我在程序里
就用了ADOQUERY组件,用了一条SQL语句"select * from BBA",我在运行这个程序的时候,发现程序
要把数据库里的数据全部读回本机才开始计算,在读取数据库的时候,程序就好象死了一样,于是我
在里面加上postmessages,但还是不行,,,请教大家,有没有办法让我的程序,在开始读数据库的时候
就开始计算呢?或者有什么别的方法?谢谢了!!
 
那要看你的统计是什么统计,如果只是简单的统计可以直接在sql语句中写进就可以了
如果是复杂的统计,可以考虑用存储程序;
总之,只有一个目的,就是把你的统计放到服务器上去作,以减少网络的负载和客户
端的运算量,让服务器去计算,只返回结果。
 
对于你的这个问题,大约有两个方法:
1、使用存储过程,在服务器端计算,再将结果返回。
2、用Select To n * from 方法,分批取数据。但此办法不是太好,因为事实上,还是
将50万条记录全部Down到了客户机,只是分散了时间而已。推荐使用第一种。
 
老兄:500,000条记录,当然慢了!
还有你是三层吗?如果是最好在服务端计算好,再把数据传到客房端,这样效率会很高!
也同意TYZhang,有存储过程就用存储过程,这样对效率有非常好的提高!
 
这个问题要是能用存储过程完成的话,那我就不用那么麻烦了,,谢谢各位
 
后退
顶部