公司有一台SQL SERVER服務器和固定IP﹐其它有几個工作站通過寬帶可以錄入資料到服務器﹐但現在出現一對多表錄入資料后存檔極慢的情況﹐經檢查發現到父表(orderhead)存檔時都正常﹐但存儲可能有多條記錄的子表(orderdeta)時會出現等待几分鐘(已建子表索引和關鍵字段)﹐更新代碼如下﹕
oleDbDataAdapter1.Update(objDataSetChanges,"orderhead");
oleDbDataAdapter2.Update(objDataSetChanges,"orderdeta");
系統中更新單個表的速度都很快﹐就是更新一對多的子表時非常慢﹐調整過索引和兩個表之間的關聯都沒用﹐不知哪位高手有遭遇類似問題﹐或是有請能答復者給予幫助﹐Thanks﹗
注﹕香港寬帶的速度較快而且很穩定。

解决方案 »

  1.   

    SQL SERVER 为什么要oleDbDataAdapter而不用 SqlDataAdapter.用oleDbDataAdapter速度自然慢了。
    oleDbDataAdapter适合用与Access
      

  2.   

    试试换存储过程,然后将Ole的改成SqlDataAdapter来更新。
    更新的时候,先用GetChange()得到改变的数据在更新,减少数据量
      

  3.   

    SQL SERVER 为什么要oleDbDataAdapter而不用 SqlDataAdapter.用oleDbDataAdapter速度自然慢了。------------------------------------------
    有道理,C#都有各各数据源的对应类,最好用与它对应的,另外,dataset更新数据比直接用sql的update慢,如果不是批量处理,建议直接用sql的update语句。