Index.
If it's no way with software,then hardware!

解决方案 »

  1.   

    限制下载到本地的数据记录的笔数,如ADOTable的Maxrecordes
      

  2.   

    if 40000条记录都是静态数据 then
    begin
      建一桌面型数据表(Paradox Table),其字段与之相同;
      导出该数据到上述所建表;
      把上述创建表Copy到Client端某目录;
      在Client端New一BDE Alias(当然,你可能不是用BDE,那么另取它法)
      将Query连接到该BDE Alias;
    end //这样可以减少网络流量,速度应当提高
    else begin
      对于该表的Index作优化!
      或者,是否可以分批传送数据!
    end;[注]:对于作出的回复不作正确性保证
    Copyright(C) 2002 CoolSlob :-)
      

  3.   

    不会吧,如果服务器上面的sql server的数据库数据改变了的话,那么client端数据怎样才会同步更新啊!更何况对于一个40000条记录的数据,pandox也快不到哪去啊????
      

  4.   

    >>to be continue:这需要看你的数据更改是否频繁!
    如果不是的话,你可以采取该办法!
    当然,你必须控制好数据的同步更新!
    对于Paradox表的速度问题,因为它是本地表
    它的速度再慢也会比取SQL服务器端的速度快!
    如果使用本地表还慢的话,你可以在Mainform Create时打开该Query,
    这时,你可以建一SplashForm,显示进度条...
    [注]:对于作出的回复不作正确性保证
    Copyright(C) 2002 CoolSlob :-)
      

  5.   

    你不要把所有数据都下到客户端哈,只SELECT需要的就行了
      

  6.   

    select所要的?这是不可能的,因为显示的是详细项目,所以所有字段都要选择!
      

  7.   

    to ActiveLF(程序人生)
    有没有具体代码???
      

  8.   

    应该是你的select语句有点问题,你尽量使用最简炼的语句!
      

  9.   

    我想boyqing说的有道理,40000纪录30秒的查询时间,应该不是由index什么的引起的。
    你先公布一下你的查询语句把
      

  10.   

    传输时间也可能长:对于100-Mbps的以态网,最大可以传输12.5MByte/s的数据,对于每条记录有1K大的表,在网上至少要3s,而TCP/IP协议也不可能让整个带宽都由实际数据占有吧,如果是10-Mbps的以态网,每条记录小一点,30s也很正常啊
      

  11.   

    试试: Query1.UniDirectional := true;