我有以下结构需要循环并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();
}
答案 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();