SQL Server 页面查询超时(SOS_SCHEDULER_YIELD等待)
2018-02-23 17:19
344 查看
一、问题概述
问题大概是这样的,有一个功能页面经常查询超时,有时候就算能查询出来也要很长的时间,但是有时又会很快。遇到的这种问题在排除掉网络原因之后基本上可以从查询语句上去找原因。编译查询SQL语句和查询进程等待结果如下:
1.进程等待
2.编译查询
问题分析:
1.等待类型为SOS_SCHEDULER_YIELD并且CPU时长很长
2.而且查询时长基本上都是消耗在编译这块,实际的查询时长不到一秒。
SOS_SCHEDULER_YIELD等待是SQL Server OS调度这块的线程之间的切换的等待。
这里出于不便没有把SQL语句贴上,实际的SQL语句单单子查询就达60多个,查询语句达到200行,导致生成执行计划的时间过长。单个子查询很简单。
二、解决方案
出现上面的这个原因是由于查询语句子查询太多导致编译时间过长,解决办法可以将每一个子查询单独查询赋值到变量,或者把子查询冗余处理。备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。 《欢迎交流讨论》 |
相关文章推荐
- 浅析SQL Server 中的SOS_SCHEDULER_YIELD类型的等待
- sql server 性能调优 资源等待之SOS_SCHEDULER_YIELD
- 译:SOS_SCHEDULER_YIELD类型等待在虚拟机环境中的增多
- 修补程序: 错误消息后的 SQL Server 服务错误日志文件或 SQL Server 2008年的 SQL Server 2005 中停止响应:"等待闩锁时出现超时"
- sql server如何在查询结果页面直接编辑数据?
- jquery处理页面弹出层查询数据等待操作实例
- 费劲心思完成了+ 点击查询之后实现页面不可操作,等待查询,几秒后返回结果页面
- ASP页面sql查询超时问题?
- 在查询结果时,在页面显示等待....的两种方法
- 在Action中查询出SQL SERVER表的数据,返回一个list。怎么在JSP页面中使用Struts标签,显示出表中的内容?(转)
- 页面加载过程中的等待查询loading效果
- aspx页面查询超时问题
- jquery 处理页面弹出层查询数据等待的操作(gif图片加载等待)
- WaitType:SOS_SCHEDULER_YIELD
- 在页面监听鼠标的事件,超时退出
- php页面操作超时
- 页面超时处理
- SQL Server查询中的特殊字符处理
- SQL Server 2016 实时查询统计(Live Query Statistics)
- 通过sql语句查询表的列和对应的数据并在jsp页面上显示