应用程序插入/更新查询优化

时间:2012-07-23 19:47:08

标签: c# .net optimization

我正在创建运行大量插入/更新查询的Windows窗体应用程序。即使插入少量信息(700行),您也需要等待几分钟。 这是我正在使用的代码:

    foreach (DataRow row in dt.Rows)
    {
      for (int i = 0; i < dt.Columns.Count; i++)
      {
        listItems.Add( row[dt.Columns[i].ColumnName], ListOperator.Comma);
      }
    var insQry = "INSERT INTO table ( ";
    insQry = insQry + colList + " ) VALUES ( " + listItems.ToString() + " )";
    var tbl = server.RunQuery(insQry);

//at running time this query would look like this "INSERT INTO table (col1,col2) VALUES (value1, value2)"

当我恢复数据时(恢复数据我正在使用更新/删除查询),我看起来很奇怪我插入了,查询性能只需几秒钟。

什么可能缩短插入查询性能时间?也许有可能帮助线程? (如果是这样,什么样的线程?异步?并行线程?)。

欢迎所有想法! :)

2 个答案:

答案 0 :(得分:2)

可能是因为您使用字符串连接来构建查询。你应该使用参数。有许多使用它们的广告,包括SQL注入的性能和安全性。

答案 1 :(得分:0)

首先,您是否在事务中包装了插入内容? using (var trans = new TransactionScope(){...}

其次,为什么不使用DataAdapter