我这个程序是单机版的,access数据库,好像不支持存储过程。数据库中有三千多条数据要批量处理,主要操作是根据User表中各用户的登记日期,到今天的系统日期,算出中间相隔的天数。再插入到加一个表中。目前我用Adoquery的next的方法,一条条处理出来,再插入表中,需要2分钟以上才能处理完毕,速度比较慢。请问要怎么才能提高我的处理速度呢?据说用缓存可以先存储在本地,算完后再一次提交,请问这个如何实现?

解决方案 »

  1.   

    一句sql就可以解决啊,insert into table1(field1) select 这进行日期相减 from table2
      

  2.   

    access的sql中当然日期是now,日期 间隔好像有个DateDiff,自己查查资料,看看具体用法
      

  3.   

    不好意思,不是算到今天,是算到一个指定的日期,hai需要在程序中判断条件,再用公式运算出每一条的金额再同时插入另一个表。要用到程序中的公式,所以不能在sql语句中一次处理好的。
      

  4.   

    导入sql server,再批量处理,处理完了再导回access
      

  5.   

    1、相关的表一定要按相关条件建立索引。
    2、尽是用SQL语句,比你一条一条的做要快很多!!
    3、如果数据库太大了,定期清理数据并做压缩修复。