插入数据需要很长的查询时间

时间:2014-03-07 00:22:39

标签: sql

我有以下结构需要循环并INSERT到相应的表。但是我经历了很长时间处理查询,直到服务器连接关闭。 我需要一种更快的方法来处理查询。请建议。谢谢 注意到我使用ms sql server

foreach (DictionaryEntry myInfo in myOrderInfo){//contain 183 times

foreach (DictionaryEntry myBi in myInfo.value){//loop 13 times
...//some code
cmd2.Parameters.AddWithValue("@" + myBi.Key, myBi.Value + "");
....
connection2.open()
cmd2.ExecuteNonQuery();
connection2.close();

}
.....//some conditions

cmd.Parameters.AddWithValue("@" + myInfo.Key, myInfo.Value + "");
.....//some conditions

connection.open();
cmd.ExecuteNonQuery();
connection.close();

}

1 个答案:

答案 0 :(得分:1)

重新使用连接。

将打开和关闭连接方法放在for循环之外。

这会加速它。

快速编辑:如果要访问同一个数据库服务器,则实际上不需要使用两个连接。这样的事情应该是你的最终结果。

        connection.open();
        foreach (DictionaryEntry myInfo in myOrderInfo){//contain 183 times

        foreach (DictionaryEntry myBi in myInfo.value){//loop 13 times
        ...//some code
        cmd2.Parameters.AddWithValue("@" + myBi.Key, myBi.Value + "");
        ....
        cmd2.ExecuteNonQuery();

        }
        .....//some conditions

        cmd.Parameters.AddWithValue("@" + myInfo.Key, myInfo.Value + "");
        .....//some conditions

        cmd.ExecuteNonQuery();
        }
        connection.close();