用c#从百万数据中筛选一些信息时,经常会出现程序连接超时的错误,常见的错误很多,例如:Timeout expired. The timeout period elapsed prior to completion of the operation or the server等等

本文就常见的几种解决方案进行说明,纯属个人见解,欢迎拍砖

①:当然第一步要查看是否Connection没关闭问题,一般新手都会犯这个错误,需要认真查看一下哦,这个就不详细说了。

②:如果将sql语句复制到查询分析器中执行,如果执行时间本来就超过30秒,那么一般采用如下的解决方案:

首先分析引起Timeout的原因,一般是Connection没关闭或者SqlConnection.ConnectionTimeout超时,另外一种就是SqlCommand.CommandTimeout引起的, SqlCommand的此方法为获取或设置在终止执行命令的尝试并生成错误之前的等待时间,

他的默认为 30 秒,你可以设置为0 ,它表示无限制,但是最好不要去设置0 ,否则会无限的等待下去的,只需要针对查询分析器的时间,去设置这个时间就可以了

③:执行时间不是很长,但是还是操作超时,那么 也有很多原因,一般经常出现的有两种,asp.Net应用程序的请求超时,或者是连接池的连接生存期过去,,因为连接池默认值是60秒,那么针对这两种解决方案为:

解决应用程序请求超时:

在web.config中加上以下语句:

<system.web>

<httpRuntime maxRequestLength="102400" executionTimeout="720" />

</system.web>

executionTimeout:是允许执行请求的最大时间限制,单位为秒
          maxRequestLength:指示 ASP.Net 支持的最大文件上载大小。该限制可以防止。。。。大家都懂的。。呵呵

解决程序池生存周期问题:

在数据库连接字符串中修改:database=AA;uid=sa;pwd=sa; Pooling=true; MAX Pool Size=1024;Min Pool Size=1;Connection Lifetime=60

至于含义基本上从英文的意思上大家就明白了,呵呵。。。当然Min Pool Size=1这个设置还有很多讲究,如果想研究的可以看一下下面的文章,呵呵

http://www.cnblogs.com/ZHUYIN/archive/2011/11/02/2232578.html

C#百万数据查询超时问题的更多相关文章

  1. WebServer+ADO+百万数据查询

    很简单的demo,查询速度快,易理解,废话不说  上demo 看完就明白了 源码地址:http://files.cnblogs.com/files/SpadeA/WebDemo.zip 这是关于Web ...

  2. Oracle百万数据查询语句

    SELECT * FROM (SELECT e.*, ROWNUM rn FROM (SELECT id, name, age, birthDate, sex, describe, city, cre ...

  3. 六、ibatis1.2.8查询性能优化,实现百万数据zip导出

    经测试发现将查询的结果100万数据(池子中共有大概14亿的数据)写入Excle文件并进行压缩导出zip文件最耗时的地方竟然在查询,因此本篇文章主要是针对如何在spring+ibatis1.2.8中优化 ...

  4. mybatis的sql语句导致索引失效,使得查询超时

    mybaitis书写sql需要特别注意where条件中的语句,否则将会导致索引失效,使得查询总是超时.如下语句会出现导致索引失效的情况: with test1 as (select count(C_F ...

  5. SQL优化----百万数据查询优化

    百万数据查询优化 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率.现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构.索引的使用要恰到好处,其使用原则如下: ...

  6. sql语句百万数据量优化方案

    一:理解sql执行顺序 在sql中,第一个被执行的是from语句,每一个步骤都会产生一个虚拟表,该表供下一个步骤查询时调用,比如语句:select top 10 column1,colum2,max( ...

  7. 天气类API调用的代码示例合集:全国天气预报、实时空气质量数据查询、PM2.5空气质量指数等

    以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 全国天气预报:数据来自国家气象局,可根据地名.经纬度GPS.IP查 ...

  8. nodejs mysql 数据查询例子

    1.安装nodejs 2.安装mysql  npm包 地址:https://github.com/felixge/node-mysql npm install mysql 3.相应API查看及调用: ...

  9. oracle入门之对表数据查询(三)

    oracle表复杂查询--子查询 什么是子查询? 子查询是指嵌入在其它sql语句中的select语句,也叫嵌套查询. 单行子查询 单行子查询是指只返回一行数据的子查询语句. 请思考:如果显示与smit ...

随机推荐

  1. Win7 64bit 成功安装ArcView3.X

    本人参考 链接 已在Win7 64Bit 笔记本上成功安装ArcView3.3,于是记录以下心得。 Win7 64Bit安装不了ArcView3.X的原因在于: 1,ArcView3.X属于16Bit ...

  2. Perl中的特殊内置变量详解

    #!/usr/bin/perl -w @array = qw(a b c d); foreach (@array) { print $_," "; } 例子的作用就是定义一个数组并 ...

  3. 五、mysql存储引擎

    show variable like 'table_type'; 显示系统默认存储引擎 show engine\G 显示系统支持存储殷勤 =============================== ...

  4. Extjs4 treePanel异步加载菜单(后台从数据库读取)

    运行环境:springMVC+mybatis 一.建表 说明:0表示此节点为非叶子节点,即此节点还包括了子节点:1表示此节点为叶子节点,即此节点没有子节点.:关于图标iconCls是从Extjs的文件 ...

  5. jQuery.serializeArray() 函数详解

    serializeArray()函数用于序列化一组表单元素,将表单内容编码为一个JavaScript数组. serializeArray()函数常用于将表单内容序列化为JSON对象,以便于被编码为JS ...

  6. 【莫队】bzoj 3781,bzoj 2038,bzoj 3289

    好像又有一个星期没更博客了.. 最近疯狂考试...唯一有点收获的就是学会了莫队这种神奇的算法.. 听起来很难..其实是一个很简单的东西.. 就是在区间处理问题时对于一个待求区间[L',R']通过之前求 ...

  7. 错误:[将截断字符串或二进制数据。\r\n语句已终止。]

    错误:[将截断字符串或二进制数据.\r\n语句已终止.] 解决方法是将数据库表这列的长度调大一点

  8. The 6th Zhejiang Provincial Collegiate Programming Contest->ProblemK:K-Nice

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3212 题意:构造出一个n*m的有k个上下左右的和等于中间数的小矩阵的任意矩 ...

  9. uva 10608

    简单并查集  水水..... #include <cstdio> #include <cstring> #define maxn 30005 int fa[maxn],ans[ ...

  10. KafkaSpout的处理流程

    基于0.93版本Storm 首先,如果自己写KafkaSpout,该怎么办?有哪些地方需要考虑呢 1. 得实现Storm指定的接口.这样Storm才能够使用它.那么需要实现什么接口?需要提供什么功能给 ...