问题的背景
  数据库中有两张表:A 表,B 表,把B表中的每一条数据经过一定的定制插入到A表。 程序我写出了,通过datatable操作,然后再update,因为测试的表很小,所以没有问题,但是现在的用实际的表程序根本不动,因为b表中有20万条数据。例子:
   表A     姓名     学校     课程1 课程2  课程3  课程4      表B     姓名     学校              张三       育才
            李四       清华
            王五       北大
----------经过程序操作 表数据如下:表A     姓名     学校      课程1   课程2   课程3   课程4 
        张三       育才     A       B      C        D
         李四       清华     B       B      C        D
         王五       北大     D       D      C        D表B       姓名        学校              张三       育才
            李四       清华
            王五       北大

解决方案 »

  1.   

    线程阻塞,界面停止响应...你是用循环插入的吧,你应该给你的程序喘气的机会...方法1.开后台线程处理...方法2.在你的循环中调用Application.DoEvents方法,强行交还控制权...
      

  2.   

    我给你连个建议:
    1:不要通过客户端更新,是否考虑通过触发器
    2:将表结构进行优化,增加或者优化索引,如果是Oracle考虑分区
      

  3.   

    数据库是用的sqlserver,我的意思是在用C#ado 如何能实现。我有个想法是每次操作5千条数据,可是数据更新的时候不好办。
    有没有一种方式每次读取表B的一条数据,然后插入到A表 一个循环3000次。这样做怎么实现?