我是用DBGRID来显示数据,但我的数据表数据太多,一开始运行程序就变得很慢,等它读取完后才能正常使用程序,请问在访问该表时,怎么读到才会快点,或者先只读取前面的一部分数据,但该如何实现,请指都,本人万分感激!

解决方案 »

  1.   

    前台 写良好的SQL语句
    后台 数据结构尽量优化 尽量可能运用存储过程可以一部分一部分的读取 比如 select * from aaa where id < 100 id > 50...
    这样就分批次了。。
    还有可以读到cache里面去。。而且这个动作是悄悄的进行 嘿
      

  2.   

    我是用TADOtable直接连接数据表的,数据库表也做好索引,该数据表很大,楼上说可以读到cache里面,是如何实现,我这样问的话是不是让各位见笑了.
      

  3.   

    还有一点是要注意的:刷新或者读取数据的时候,要调用一下TDataSet的DisableControl方法,这样不会在读取的过程当中导致DBGrid的频繁刷新,最后读取完毕,调用一下EnableControls。
      

  4.   

    1.采用ClientDataSet的数据缓冲技术;
    2.采用分页技术;
    3.采用动态SQL,指定范围的提取部分数据;
    等等,N种办法都可以解决