开发者社区 问答 正文

云数据库RDS版有没有类似AWR的功能

阿里云数据库有没有可以查看SQL语句的执行次数、总时长、平均时间、执行SQL语句的功能?
类似下面链接的运行截图第一张
https://www.oschina.net/p/mysql-awr/related?lang=0&sort=view&p=1

展开
收起
1107608728499026 2018-12-25 17:58:39 739 分享 版权
阿里云 AI 助理回答

阿里云数据库审计系统确实提供了查看SQL语句执行次数、总时长、平均时间以及具体执行SQL语句的功能。以下是根据您的需求整理的操作指南:

  1. 登录与访问

    • 首先,访问云盾数据库审计管理控制台并登录。
    • 在左侧导航栏选择“A100实例”,找到目标实例后点击“管理”。
  2. 查看SQL语句详情

    • 进入实例管理页面后,在“概况”页签下,找到目标数据库并点击“信息”。
    • 转至“语句”页签,这里会展示系统审计到的SQL语句及其详细信息,包括执行次数、总耗时及平均执行时间等。
  3. 高级查询与统计

    • 使用语句检索功能,您可以自定义时间段和检索条件,以查看特定SQL语句的详细执行情况,包括会话详情。
    • 通过SQL操作统计,可以了解到不同SQL语句类型的执行频次,并支持数据导出。
    • TopSQL语句查询可帮助您找出按平均耗时、总耗时或执行次数排序的SQL语句,进一步分析性能瓶颈。
  4. 特定条件下的SQL查询示例

    • 若要查询特定时间段内执行次数超过某一阈值的非写入语句,可以通过编写SQL查询语句实现,例如参考以下示例:
      SELECT *
      FROM (
      SELECT LEFT(query, 100) AS SQL,
            count() AS queryNum,
            sum(query_duration_ms) AS totalTime,
            totalTime/queryNum AS avgTime
      FROM clusterAllReplicas('default', system.query_log) ql
      WHERE event_time > toDateTime('<startTime>')
           AND event_time < toDateTime('<endTime>')
           AND query NOT LIKE '%INSERT INTO%'
           AND substring(hostname(), 38, 8) = '<nodeName>'
      GROUP BY SQL
      ORDER BY avgTime DESC
      ) t
      WHERE queryNum > <queryNumThreshold>
      LIMIT <resultLimit>;
      

综上所述,阿里云数据库审计系统不仅能够提供SQL语句的执行次数、总时长、平均时间信息,还允许用户进行灵活的查询与深入分析,满足您对SQL监控与优化的需求。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答