日期:2014-05-19  浏览次数:20789 次

怎么样能更有效率地更新数据库
我的表里面有70W条数据,Update需要2个小时,太慢了。有什么方法能快点儿吗?
下面是我的代码:

SqlDataAdapter   da   =   new   SqlDataAdapter(sql,   conn);
SqlCommandBuilder   cm   =   new   SqlCommandBuilder(da);
cm.GetUpdateCommand().CommandTimeout   =   0;

DataTable   dt   =   new   DataTable(table);
da.Fill(dt);

foreach   (DataRow   row   in   dt.Rows)
{
row[ "field "]   =   "new ";
}

da.Update(dt);


------解决方案--------------------
有哪些复杂计算?
------解决方案--------------------
有啊,你更新的时候,从原来的DATATABLE里用GETCHANGES方法,只取得修改了的部分进行UPDATE.
DataRow drs = dtTAble1.GetChanges();
只对修改了的部分进行更新.
------解决方案--------------------
数据库中 将你 用于条件判断的列 设置索引
------解决方案--------------------
设置索引
------解决方案--------------------
批量控制
设置索引