rds SQL server的监控指标里,“每秒SQL编译”是什么意思?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

20170223_dt 2017-04-24 10:22:51 2496
这个参数突然急速升高,是因为这个时间段,开始有大量的SQL语句在执行吗?
  可是,这个时期,我们没有上线啊?
  难道是有我不知道的定时任务导致的吗?
SQL 监控 关系型数据库 RDS
分享到
取消 提交回答
全部回答(2)
  • 20170223_dt
    2017-05-18 15:19:57
    回 1楼风移的帖子
    虽然没看懂,但感觉好厉害。
    谢谢,楼上是阿里云的工作人员吗?
    0 0
  • 风移
    2017-05-15 15:40:44
    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语句需要重新编译
      .....
    等等情况。
    0 0
添加回答
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题