【delphi】外循环5000次,内循环900次,循环插入数据到数据库,请问怎么样才能提高速度

解决方案 »

  1.   

    抄段书 
    ================
    for iCount :=0 to 10 do
    begin
    {外层循环代码}
    for iCount2 :=0 to 100 do
    begin
    {内层循环代码}
    end;
    end;我们假定外层循环代码(不包括内层代码)每执行一次需要 100ms, 循环 10 次要 1s。如果内层循环代码每执行一次要10ms,循环 1000 次也是 1s。由于外层循环代码耗费的时间比内层循环代码要多,有人也许会试图优化外层代码。事实上,整个循环体一共需要运行 11s(内层循环执行 10 次,每次 1s, 共 10s,再加上外层循环代码需要的 1s),如果将外层循环代码执行的时间减到哪怕 1ms,整断代码仍需要执行超过 10s 的时间;如果将内存循环代码的执行时间减到 5ms,整个执行时间则只需越 6s,可大大提高执行效率。因此,优化循环体的内存代码往往可大幅度提高程序的性能,如果开启着编译器优化选项(默认开启),这些都有编译器给你优化,区别不大
      

  2.   

    把数据写到文件,然后用数据库的导入功能从文件导入最快
    比如sqlserver的bulk insert
      

  3.   

    外循环5000次,
      内循环900次生成一个大sql,提交一次