是这样的我的程序中要添加8000条记录,同时还要删除4000条记录。添加的时候是一条一条添加的,不知道是不是DELPHI不能添加后一起POST ,所以我是一条一条POST的删除的时候也是这样,我删除是整个临时表一起删除了,DELPHI不是有个DELETERECORDS的命令的,本人比较愚昧,没有试验出来,不知道这个命令是不是整个表一起删除的。不知道怎么回事,我们的哪个垃圾服务器做这个转换是不是有问题,刚开始要3分多钟,时间,然后再慢慢延长,时间运行越长,我的程序最后就运行越长,必须重新启动程序才可以我们的服务器是PII166,我叫他们换也不肯换!忘各位指点一下,我是没有释放内存吗,还是怎么回事。

解决方案 »

  1.   

    直接用insert into 表
    delete from 表 
    或 drop table 表
    不行吗?
      

  2.   

    不好意思,我忘了,程序在以前公司里。
    数据提交可以批处理的。POST一次。
    删除加条件删除。就可以了。
      

  3.   

    daijingjie2002(艰苦创业)兄说的是在SQL_plus里面做吗,我是让他自己做,写代码在DELPHI程序里面因为我这个数据是5分钟刷新一次的,所以。。手工做很麻烦 Sant11(S蚂蚁11)回忆一下,用批处理怎么用,我数据是动态的哦?帮个忙 myhgyp(也许是这样的,信不信由你) 现在我在家,代码没有啊,明天看看,其实这个代码就是INSERT和DELETE 我觉得没有什么特别的地方。
      

  4.   

    我觉得不是什么问题啊,插入可以批插入,删除不加条件不就是批删除吗?insert into 表1(字段1,...) select (字段1,...)from 表2
    delete from 表 
      

  5.   

    快速删除表 :truncate TABLE TABLENAME;
     “添加的时候是一条一条添加的,不知道是不是DELPHI不能添加后一起POST”--可以。用批量更新模式
      

  6.   

    //向数据库加1000条
    var
      sSql:string;
      i:   integer;
    begin
      sSql := 'begin';
      for i to 1000 do
      begin
        sSql := sSql + ' insert into TableName(Fields1,Fields2) values(i,YourValue);'; 
      end;
      sSql := sSql+ ' Commit;end;'
    end;//删除
    delete from TableName where ....
      

  7.   

    for i to 1000 do  ->
    for i:=1 to 1000 do
      

  8.   

    我认为还是调整一下语句直接用sql语句比较合理,如果逐条进行的话会比较浪费实际哦。
      

  9.   

    其实调整一下adoc的几个属性就可以批量添加了,没楼上朋友说的那末复杂,至于删除,我觉的用delete 命令的速度不慢。