出现这种错误提示的原因是什么??
1 数据连接对象没关闭?
2 服务器响应时间不够长?
3 。。。
测试的时候发现,,,语句和函数有区别
有一个函数执行报错
有的不报错
1: SqlCommand com = new SqlCommand();
com.CommandTimeout = 60; //设置相应时间
2: 在数据库中设置
(菜单) 工具-----选项----设计器----= 事务超时时间 设置为60秒
语句 报错: 如下:
用了第二种方式 还是出现同样的问题:
解决方式如下:设置 响应时间
adp.SelectCommand.CommandTimeout = 180;
3.Web页面执行超时,如上传大批量的文件
需要修改配置文件:
同一个方法,一个连接查询语句 在数据库执行了46秒,一个简单语句执行2秒,这个执行了46秒的过程中报错,“ 程序超时!”,同一个条语句执行1秒都没有也报 “超时错误”
网上搜了一大把:
1
把SQL Server 2005的最大使用内存设置为6G(系统总物理内存为8G)后,作查询时经常返回查询超时,我该怎么办?
2
除了修改超时时间设定,
建议尽量优化查询语句.
3
有很多种方面的原因 建议尽量的去优化查询 和设计好表结构
4
真是要超时的查询肯定有问题
检查下dmv是不是被锁给阻塞了,或者大表产生了笛卡尔积的错误连接
总结为:优化语句和表结构。。。。优化语句还行表结构怎么优化,三个表连接最为简单的连接语句只是表里的数据有点多,产生的笛卡尔积多,多没关系啊?
终于发现重点:重点: 一个语句三表连接语句查询不带order by 语句执行耗时51秒。 带上order by 语句 耗时1秒不到。 多次验证,结论就是这么明显。
结论:连接查询 带上 order by 可以提高效率。。加上order by 语句不报超时错误了。我的问题已经over。
查询一个函数,,函数里用到游标,耗时1分2秒, 其中一个多表连接耗时45秒,同样的查询语句,,在数据较少的情况下没问题,数据多了就变的有问题。优化语句
尽量减少多表连接查询,特别是数据量大的表。
ok question is over