前掉:
大数据量的物理表(10-100W条记录) 需解决问题:
快速通过 数据适配器进行数据更新 (或者用其它的方法)

解决方案 »

  1.   

    直接用SQL操作数据库,没有理由全部LOAD上来。
      

  2.   

    对于 经常用于 条件判断where后的字段
    建立 索引可以 加快速度
      

  3.   

    在这里我贴出原先的代码 #region 更新数据集部分,新版本 2006-1-16
    public string UpdateDataSet(string userName,string tableName,string filterStr,string whereSql,string orderSql,
    DataTable dataTable)
    {
    string rtnstr="";
    string sqlStr=createSqlStr(tableName,filterStr,whereSql,orderSql);//对分段的SQL进行组合
    SqlConnection  conn = new SqlConnection(m_conn_str);
    SqlDataAdapter da=new SqlDataAdapter(sqlStr,conn);
    try
    {
    conn.Open();
    SqlCommandBuilder bldr = new SqlCommandBuilder(da);
    da.SelectCommand.CommandText=sqlStr;
    if (dataTable.Rows[0].RowState==DataRowState.Added)
    {
    da.InsertCommand=bldr.GetInsertCommand();
    da.InsertCommand.CommandTimeout=Timeout;
    }
    if (dataTable.Rows[0].RowState==DataRowState.Modified)
    {
    da.UpdateCommand=bldr.GetUpdateCommand();
    da.UpdateCommand.CommandTimeout=Timeout;
    }
     
    if (dataTable.Rows[0].RowState==DataRowState.Deleted)
    {
    da.DeleteCommand=bldr.GetDeleteCommand(); 
    da.DeleteCommand.CommandTimeout=Timeout;
    }
     
    int count=da.Update(dataTable); return "000000";
    }
    catch(Exception ex)

    rtnstr="999999"+ex.Message;

    return  rtnstr;
    }
    finally
    {
    conn.Close();
    da.Dispose();  
    dataTable.Dispose();
    dataTable=null;

    }
    #endregion
      

  4.   

    放弃SqlCommandBuilder,自己写update 语句效率会高些!