用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. Java实现mysql数据库备份

    Runtime是一个与JVM运行时环境有关的类,这个类是Singleton的. Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法. ...

  2. lua5.3调用C/C++

    马上面临毕业设计,打算做点跟网游有关的,先从做周边工具开始,目前正在做一个协议序列化和反序列化的东西,广告一波先: https://github.com/Anti-Magic/rproto 目前非常简 ...

  3. 【cheerio】nodejs的抓取页面模块

    http://baike.baidu.com/link?url=8V1CZsEzNE05ujOzISquom_pvFj16sWu1rRb8js11pmd9HNq7ePW_aKfG9oyXj6Txuu5 ...

  4. 开源YYKit-b

    转自 ibireme的博客,大家可以去他博客看看,有很多开发过程的一些调研和评测. YYModel 类似 Mantle/JSONModel 的工具,性能比 Mantle 高一个数量级,有更好的容错性, ...

  5. 演示demo开发问题及解决方案集锦

    模型处理问题: 1. 3Dmax模型导入Unity单位设置: 自定义->单位设置->系统单位设置与显示单位比例都调成厘米 2. 3Dmax中材质贴图: 点击材质编辑器[在模式下可以选择精简 ...

  6. 实现WebApp直接调起NativeApp

    原文http://www.baidufe.com/item/3444ee051f8edb361d12.html 试了一个小Demo,从WebApp上直接调起Android Native App,包括应 ...

  7. Linux的安装 CentOS-7.1

    说明: 首先,版本:7.1版:CentOS-7-x86_64-Everything-1503-01.iso 下载自:http://mirrors.163.com/centos/7/isos/x86_6 ...

  8. Maven 解决JAR包冲突

    在JAR 冲突的情况下, 利用Eclipse方式解决JAR包冲突时比较方便简洁的,步骤如下 1. 在Eclipse 中打开pom.xml , 选择  “Dependency  Hierarchy” 2 ...

  9. c#带参数和返回值的函数 开启线程调用的方法

    public delegate string DgTest(); private void btn_District_Click(object sender, EventArgs e) { //实例化 ...

  10. <转>struts2中Convention中的basePackage与locators配置种种

    用了Convention插件来实现所谓的0配置, 1. struts.convention.package.locators.basePackage=com.ZTest.web.action 这个属性 ...