乡村爱情6部全集,中国黑社会老大名单,突袭2:暴徒
问题大概是这样的,有一个功能页面经常查询超时,有时候就算能查询出来也要很长的时间,但是有时又会很快。遇到的这种问题在排除掉网络原因之后基本上可以从查询语句上去找原因。
编译查询SQL语句和查询进程等待结果如下:
1.进程等待
2.编译查询
问题分析:
1.等待类型为SOS_SCHEDULER_YIELD并且CPU时长很长
2.而且查询时长基本上都是消耗在编译这块,实际的查询时长不到一秒。
SOS_SCHEDULER_YIELD等待是SQL Server OS调度这块的线程之间的切换的等待。
这里出于不便没有把SQL语句贴上,实际的SQL语句单单子查询就达60多个,查询语句达到200行,导致生成执行计划的时间过长。单个子查询很简单。
出现上面的这个原因是由于查询语句子查询太多导致编译时间过长,解决办法可以将每一个子查询单独查询赋值到变量,或者把子查询冗余处理。
备注: 作者: 博客: 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。 《欢迎交流讨论》 |
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
数据库SQL---数据库、基本表、视图、索引的定义、修改、删除
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (上)
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (下)
网友评论