AnalyticDB MySQL版的实时统计分析功能提供了SQL Pattern指标特性,有效提升智能诊断效率,能够对相似的SQL进行聚合,并呈现出聚合后的特性。

背景信息

SQL Pattern是依托于全量且实时的SQL而产生的功能,通过对SQL进行分类诊断和分析,聚合相似SQL为一类SQL,有效提升智能诊断的效率。同时,SQL Pattern的聚合结果能作为数据库优化的有效依据。针对导致实例压力过大的Bad SQL,用户还可以通过拦截功能,对其进行拦截,快速恢复实例,详情请参见Persist plan and Query-Blocker

功能说明

SQL Pattern具备以下功能。
  • Pattern聚合:根据SQL文本,将相似的SQL进行分组。
  • Pattern宏观统计:建立均值与最值比较。
  • 异常SQL排查:排查出异于历史的Pattern并提供钻取功能,直达问题SQL,获取诊断结果。

操作步骤

  1. 登录云原生数据仓库AnalyticDB MySQL控制台
  2. 在页面左上角,选择集群所在地域。
  3. 在左侧导航栏,单击集群列表
  4. 3.0集群列表页签下,单击目标集群ID
  5. 在左侧导航栏,单击诊断与优化
  6. 单击SQL Pattern页签。
    默认展示最近30分钟的SQL Pattern。您可以通过SQL关键字或时间范围搜索SQL Pattern。1
    SQL Pattern列表各项参数说明如下:
    参数 说明
    操作 单击查看详情,查看特定SQL Pattern的详细信息。更多信息,请参见查询详情
    SQL Pattern SQL Pattern的具体语句。您可以单击2复制完整的SQL。
    用户名 提交Pattern相关SQL的数据库用户名。
    客户端IP 提交Pattern相关SQL的客户端IP地址。
    表名 SQL Pattern扫描的数据库表。
    创建时间 在查询时间范围内,Pattern相关SQL的最早提交时间。
    执行次数 在查询时间范围内,Pattern相关SQL的执行次数。如果实例出现资源水位突增的情况,用户可以通过执行次数排序,查看实例运行异常时段哪些SQL执行次数较多,并进一步分析这些SQL执行次数突增是否正常。
    失败次数 在查询时间范围内,Pattern相关SQL的执行失败次数。
    平均总耗时 在查询时间范围内,Pattern相关SQL的平均查询耗时,单位毫秒(ms)。
    最大总耗时 在查询时间范围内,Pattern相关SQL的最大查询耗时,单位毫秒(ms)。通过比较最大总耗时和平均查询时间,可以了解指定Pattern的耗时增加是否受到其他SQL的影响。如果在实例运行正常时段内最大总耗时和平均查询时间接近,那么在实例运行异常时段当前pattern的耗时增加可能是受到了其他SQL的影响。
    平均执行耗时 在查询时间范围内,Pattern相关SQL的平均执行耗时,单位毫秒(ms)。
    最大执行耗时 在查询时间范围内,Pattern相关SQL的最大执行耗时,单位毫秒(ms)。执行耗时的定义,详见查询监控图和查询列表介绍
    平均峰值内存 在查询时间范围内,Pattern相关SQL的平均峰值内存,单位Byte。
    最大峰值内存 在查询时间范围内,Pattern相关SQL的最大峰值内存,单位Byte。通过比较最大峰值内存和平均峰值内存,您可以判断指定SQL使用的内存资源的稳定性。如果最大峰值内存远大于平均峰值内存,说明当前Pattern的SQL可能存在扫描数据量增加或者执行计划改变的问题,可以单击查看详情,在查询详情页面,查看SQL列表进一步定位原因。
    平均扫描量 在查询时间范围内,Pattern相关SQL的平均扫描量,单位MB。
    最大扫描量 在查询时间范围内,Pattern相关SQL的最大扫描量,单位MB。通过比较最大扫描量和平均扫描量,可以判断同类Pattern的SQL的数据读取量的稳定性。如果出现最大扫描量远大于平均扫描量的情况,说明数据读取量不稳定,则需判断是否为正常情况。

查询详情

查询详情页面以图形化的方式展示SQL在时间维度上的执行次数、查询耗时、执行耗时、扫描量以及峰值内存等重要指标,其中查询耗时、执行耗时、扫描量和峰值内存指标分别提供了最大值和平均值,方便用户进行比较和分析。SQL列表提供了当前Pattern在分析时段内的所有相关的SQL,您可以单击诊断,查看SQL的诊断结果和执行计划,具体操作,参见使用执行计划分析查询

SQL Pattern页签的SQL Pattern列表中,单击查看详情,进入查询详情页面,您可以查看SQL Pattern多个指标的时序变化和SQL列表。2

相关API