我的Paradox 数据库有10万条记录用TTable打开所有记录,仅仅需要3秒
用TQuery打开所有记录,需要2分钟请问有什么办法可以改善TQuery的性能,让TQuery打开10万条记录可以控制在15秒之内?一定是要打开数据库的所有记录!

解决方案 »

  1.   

    我现在用的是ORACLE,往往要关联好几个表,觉得QUERY比较好用,你觉得涅?
      

  2.   

    回复人: ptpa(古月西西) ( ) 信誉:100  2003-12-29 13:02:00  得分:0 
     
     
      优化查询语句怎么说的
      
    ----------------------------------------------------------------
    因为需求是要打开数据表中所有字段的所有记录,我的查询语句是:select * field from table
    还有更加优化的吗?
      

  3.   

    设MaxRecored 属性,让它小一些.如果你不想看到很多的记录的话.
      

  4.   

    要知道原因,楼主应该点一下TTable这个类,找找TTable的提取数据的方式
      

  5.   

    你为什么一定要打开数据库的所有记录呢!!如果你打开所有记录是为了导入另外一个数据库,那么你可以用一个循环语句或者一个组件,那个组件bde面板上面的有的,是名叫什么move的,如果你打开开所有记录只是为了让人看,那么一个人一下子看的了那么多记录吗!!所以你就应该用分批导入数据,这样速度快,而且也可满足用户的需要,如果记录不在当前数据的范围之内,那么就发送sql语句导入下一个数据包,你说什么一定要导入所有数据,而且速度要求非产快,除非你的网络带宽,或者内存很大,而且芯片要快,那么你可以实现,你要导入那么多数据,速度要求很高,这个已经不可能依靠什么软件来实现了,只有依靠硬件来实现啊!!
      

  6.   

    我用的是Ado组件,感觉AdoQuery和AdoTable差不多呢,不过,用得多的还是AdoQuery
      

  7.   

    你的query定义永久字段没有?