避免在非常大的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“列表可以包含所有的op到700万ID,这些ID都是4-5 diget长的。
优化此查询的最佳方法是什么?
我在40.000+之后暂停?我对大型SQL语句并不熟悉。
告诉我你是否需要更多代码来帮助我。
发布于 2015-10-29 10:24:16
发布于 2015-10-29 10:28:51
拉胡尔上面的回答是个好答案..。你也可以考虑你的查询-考虑索引等等.
https://stackoverflow.com/questions/33411600
复制相似问题