操纵一个大数据库,读取300多万行数据进行统计,本来就BDE四十多分钟可以搞定,但是现在用ADO却要三十个小时,为什么啊?
控件是ADoconnection,adoquery

解决方案 »

  1.   

    建议只有在使用微软的数据库Sql Server和Access时才用Ado来访问
      

  2.   

    真的吗?我还相改成ADO呢,看来不改了。
      

  3.   

    哦,我就是用得sql 2000啊,不知道怎么回事:(
      

  4.   

    bde是delphi开发的但移植性不好,ado是微软的比较通用吗
      

  5.   

    记得看过BDE和ADO性能比较的资,性能差不多甚至ADO比BDE更好一点。。
    是不是数据库及配置对于BDE或ADO有问题?
      

  6.   

    读取300多万行数据进行统计,本来就BDE四十多分钟可以搞定进行什么统计还要这么长时间?什么配置环境?
      

  7.   

    从任务管理器中来看,刚开始的时候sql server内存使用激增,同时我那个程序也开始激增,到了超过实际大小大约100m 的时候,即700多的时候,突然降了下去,降到23m然后就是很慢的计算了:(
      

  8.   

    服务器是四个P43.02g,2g的内存,计算的东西多一点
      

  9.   

    如果只读取的话 建立几个索引看看
    我觉得对SQL ACCESS 数据库 ADO 比较快的
      

  10.   

    为什么不用存储过程来运行,我想那样的话ADO的效果会很好的。
      

  11.   

    BDE效率好像真的比ADO高...
    起码消耗内存和系统资源比ADO小。
      

  12.   

    对M$的东西肯定是ADO更好,都是M$的,没理由不好的
    其他的或者是BDE快,都不奇怪的
      

  13.   

    楼上诸兄已经说得很好了,MS的DATABASE用ADO,其它的用BDE,不知楼主用什么数据库,
      

  14.   

    不理解,我用过bde,但觉得ADO快
      

  15.   

    读取本地数据库, BDE 比 ADO 快十倍,一点都不奇怪!但通过适当的优化,有可能再快的
      

  16.   

    最好用prepare方法优化一下SQL语句
    保存用updatebatch进行批量的写入数据库
    对一个这么大的数据量操作,应该写存储过程,对一个内部操作无所谓,但要是对外操作那这种方法做是肯定不行的啊!~
      

  17.   

    ado和bde本来就是各有所长,不过建议搂主检查一下ado的写法,不会有这么大的差异的。sql该建的index一定要建好。