现想更新数据库的某些字段,用TTable 来过滤,然后更新,对批量处理(10万条),速度很慢,要1小时左右.
请问哪位有经验,用哪个控件,with table1 do
  begin
     for i:= 1 to 100000 do
     begin
       Active := false;
       Filter := 'id = ' + id0;
       Filtered := True;
       Active := true;
       edit;       fieldbyname('name').Asstring := 'name';
       post;
     end;
  end;thanks very much!(本人分不多,抱歉)

解决方案 »

  1.   

    用SQL语句进行操作。不要一条条的在程序中循环。
      

  2.   


    1#楼正解。 用循环方式是效率最低的,改用Update <表名> set  ....   where <条件>
      

  3.   


    用循环是最不可取的方法,最科学的方法应该使用SQL语句或者生成SQL语句 再去执行 效率会大大提高!
      

  4.   

    我有一张表,有一百多万条数据,其中有一列是打卡时间 : HH:MM:SS 由于时间格式太死,(这些数据是模拟生成的),都是整点的,如:12:00:00,这样人家一看就知道是假的考勤数据,所以客户要求把这些时间中的分钟随机加上半小时以里的数,目前采用的也是循环,大家有没有好的方法。注意,是加上随机数。
      

  5.   

    使用SQL语句加上 While循环。
      

  6.   

       用SQL是最好的了,循环取不同的update条件
      

  7.   

    首先确定是用什么数据库,
    其实用写SQL语句或者储存过程进行处理.
      

  8.   

    直接用SQL语句实现,千万不要用循环语句了。