首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大型sql选择的超时

大型sql选择的超时
EN

Stack Overflow用户
提问于 2015-10-29 10:22:59
回答 2查看 695关注 0票数 0

避免在非常大的sql select语句上超时的最佳方法是什么?

代码语言:javascript
复制
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语句并不熟悉。

告诉我你是否需要更多代码来帮助我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-29 10:24:16

避免超时问题的一种方法是添加:

代码语言:javascript
复制
SqlCommand.CommandTimeout = 0;

MSDN说:

值0表示无限制(执行命令的尝试将无限期等待)。

票数 1
EN

Stack Overflow用户

发布于 2015-10-29 10:28:51

拉胡尔上面的回答是个好答案..。你也可以考虑你的查询-考虑索引等等.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33411600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档