zoukankan      html  css  js  c++  java
  • SQL Server 页面查询超时(SOS_SCHEDULER_YIELD等待)

    一、问题概述

    问题大概是这样的,有一个功能页面经常查询超时,有时候就算能查询出来也要很长的时间,但是有时又会很快。遇到的这种问题在排除掉网络原因之后基本上可以从查询语句上去找原因。

    编译查询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

    本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

    《欢迎交流讨论》

  • 相关阅读:
    正点原子的串口助手XCOM V2.0编码问题
    切图设计工具软件或平台
    Notepad++插件
    emWin调用GUI_PNG_Draw方法显示PNG图片
    C语言-结构体冒号(:)位域
    Keil报错:error: #130: expected a "{"
    Doxygen简明注释语法
    Ubuntu连接不上Xshell
    Springboot注解的作用
    idea常用快捷键
  • 原文地址:https://www.cnblogs.com/chenmh/p/8462838.html
Copyright © 2011-2022 走看看