开发者社区> 问答> 正文

rds SQL server的监控指标里,“每秒SQL编译”是什么意思?

这个参数突然急速升高,是因为这个时间段,开始有大量的SQL语句在执行吗?
  可是,这个时期,我们没有上线啊?
  难道是有我不知道的定时任务导致的吗?

展开
收起
20170223_dt 2017-04-24 10:22:51 4169 0
2 条回答
写回答
取消 提交回答
  • 回 1楼风移的帖子
    虽然没看懂,但感觉好厉害。
    谢谢,楼上是阿里云的工作人员吗?
    2017-05-18 15:19:57
    赞同 展开评论 打赏
  • 阿里云数据库专家,负责SQL Server数据库产品线。SQL Server从业10年,经历过SQL 2000、SQL 2005、SQL 2008、SQL 2008R2、SQL 2012、SQL 2014、SQL 2016和SQL on Linux各个版本。
    Rerds SQL server的监控指标里,“每秒SQL编译”是什么意思?
    1. 每秒SQL编译是指:每秒钟发生在SQL Server内部的语句编译的数量。因为,每个语句在执行之前,都要经过编译过程。这个过程,SQL Server会根据统计信息来找到一个最优的执行路径(叫着执行计划),然后会将编译好的执行计划缓存到内存中。
    2. 可能导致每秒SQL编译急速升高的原因有很多种,比如:
         a. 可用内存不足。当SQL Server认为系统可用内存不足时,会清理执行计划缓存来换取可用内存。清理执行计划以后的执行语句,会导致SQL编译
         b. 用户大查询。用户的大查询挤压系统可用内存。比如:系统给SQL Server的可用内存为1GB,但是用户的查询需要1.5GB的数据量,SQL Server需要额外获得500MB的内存空间,导致上面讲得可用内存不足,清理执行计划的动作。
        c. 用户自己发起了清空执行计划缓存的命令。
        d. 用户发起了重启SQL Server服务的动作以后,原因和a相似。
        e. 用户发起了HA切换,主备切换以后,用户连接到了备库,执行SQL语句需要重新编译
      .....
    等等情况。
    2017-05-15 15:40:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载

相关镜像