大型sql Select超时
本文关键字:超时 Select sql 大型 | 更新日期: 2023-09-27 18:19:54
避免大型sql select语句超时的最佳方法是什么?
List<int> klienter = FundneKlienter.Keys.ToList();
if (klienter.Count > 0)
{
Dictionary<int, String> klientNavne = new Dictionary<int, string>(klienter.Count);
String sql = "SELECT [0],[1] FROM [Tabel] WHERE [0] IN " + klienter.ToSqlList();
using (SqlCommand cmd = new SqlCommand(sql, _connection))
using (SqlDataReader sr = cmd.ExecuteReader())
if (sr.HasRows)
while (sr.Read())
klientNavne.Add(int.Parse(sr["0"].ToString()), sr["1"].ToString());
这个"klinter"列表可以包含多达700万个ID,这些ID都是4-5个数字集长。
优化此查询的最佳方法是什么?
我在40.000+后超时??我是大型SQL语句的新手。
如果你需要更多的代码来帮助我,请告诉我。
避免超时问题的一种方法是添加:
SqlCommand.CommandTimeout = 0;
MSDN说:
值为0表示没有限制(尝试执行命令将无限期等待)。