【发布时间】:2020-08-26 06:50:26
【问题描述】:
所以我在 ADO Net 中有使用参数化查询插入数据的应用程序,但我注意到会有服务器超时错误。当有这么多插入发生时。插入的行几乎是 1500 行。对于每个请求。并且在繁忙时间可以同时有 10 - 30 个请求。添加超时将解决问题。在正常情况下,请求只需 7 - 15 秒即可完成。但是在我的日志中,有时我会在繁忙时间看到异常错误。是否添加超时将解决问题或我可以做任何调整来提高性能
foreach (var item in collection) {
{
using (var con = new SqlConnection("connectionString here"))
{
con.Open();
var sql = "INSERT INTO my_table (a, b, c) VALUES (@a,@b,@c);"
using (var comm = new SqlCommand(sql, con))
{
comm.Parameters.Add("@a", SqlDbType.Int);
comm.Parameters.Add("@b", SqlDbType.NVarChar);
comm.Parameters.Add("@c", SqlDbType.Int);
comm.Parameters["@a"].Value = aVal;
comm.Parameters["@b"].Value = bVal;
comm.Parameters["@b"].Size = bVal.Length;
comm.Parameters["@c"].Value = cVal;
comm.ExecuteNonQuery();
con.Close();
}
}
}
【问题讨论】:
-
将 sql 连接打开和关闭置于循环之外,并将连接超时放入连接字符串中
标签: c# sql-server asp.net-core ado.net