AnalyticDB MySQL版的SQL诊断功能可以对SQL查询的Query、Stage和算子(Operator)级别的信息分别进行统计,再在统计信息的基础上进行诊断并提供调优建议。本文介绍如何在AnalyticDB MySQL版控制台上查看目标查询的属性与各级别的诊断结果。

查看查询属性

  1. 进入SQL诊断页签。详细操作步骤,请参见进入SQL诊断页签
  2. SQL诊断页签的右上角,根据业务需要选择整体检索条件,例如检索最近5分钟耗时最长的100个SQL查询。
  3. 在检索结果的图表中,您可以选择如下任意一种方式进入查询详情页面:
    • 方式一

      查询监控区域的趋势图中,每个色块代表一次SQL查询,将鼠标放在色块上可以查看目标查询的相关信息(例如查询开始或结束时间),单击详情即可进入目标查询的详情页面。

      4
    • 方式二

      查询列表页签下,单击目标查询左侧操作栏中的诊断,即可进入目标查询的详情页面。

      4
  4. 在查询详情页面的查询属性区域,可以查看目标查询语句的执行情况,例如扫描数据返回数据峰值内存等。

    单击页面右上角返回即可回到查询趋势图所在页,查看其它查询的相关信息。

    6

查看诊断结果

  1. 根据查看查询属性中的步骤进入查询详情页面。
  2. 在查询详情页面,单击执行计划页签来查看目标查询的执行计划树图。您可以通过执行计划树来查看Query、Stage和Operator级别的诊断结果:
    • 查看Query级别的诊断结果
      在执行计划树右侧,单击查询级别诊断结果,即可直接查看Query级别的诊断结果详情。更多关于Query级别诊断结果的详情,请参见Query级别诊断结果2
    • 查看Stage级别的诊断结果
      单击执行计划树中某个Stage(如Stage[2]),即可在右侧查看对应Stage的诊断结果详情。更多关于Stage级别诊断结果的详情,请参见Stage级别诊断结果7
    • 查看算子(Operator)级别的诊断结果
      1. 将鼠标移动到目标Stage上,在弹出的信息框中单击查看Stage计划,进入对应Stage的计划详情页。9
      2. 在Stage计划详情页,单击执行计划树中某个算子(如TableScan[3]),即可在右侧查看对应算子的诊断结果详情。更多详情,请参见算子级别诊断结果11