30.3查询分析器用户界面

如果要分析查询,请在导航栏上选择“查询”。的查询分析器会显示出来。下图显示了该页面上表格的示例:

图30.1查询分析器

查询分析器用户界面示例。图的内容在周围的文字中描述。

主Query Analyzer表提供所有已执行查询的摘要信息。该表跟踪提交给服务器的所有查询。表最多显示100行,您可以通过使用页码或下一个以前的第一个,最后的按钮。若要筛选显示的查询列表,或更改查询的数量,请参见第30.3.3节“过滤查询分析器数据”.将查询信息导出为. csv文件的更多信息,请参考第30.3.5节“导出查询信息”

Query Analyzer显示目标选择菜单中所选上下文的数据。

表中的每一行都提供一个规范化查询语句的统计信息。如果您已经配置了多个代理/代理来接受和转发查询到不同的服务器,那么您可以展开服务器视图。根据选择的是服务器组还是单个服务器,显示的摘要信息会有所不同。

如果您选择了一个服务器组,那么显示的信息将从整个组中聚合。在多个服务器上执行的相同查询显示了该查询在所有服务器上的平均、总和最小/最大信息。如果选择单个服务器,则表中只包含在该服务器上执行的查询。

对于每一行,根据所选的筛选选项填充以下列。例如,如果将过滤器配置为显示最近30分钟内的查询(时间间隔),则只显示在这段时间内执行的查询,以及相应的统计信息,如执行时间、返回的行数和返回的字节数,反映了这30分钟的时间范围。

  • 查询:查询的规范化版本。规范化删除了特定于查询的数据,以便将具有不同数据参数的不同查询标识为相同的基本查询。

    信息显示为每行一个查询。每个查询行都是可扩展的,并且可以展开以显示该查询的各个服务器的执行时间。

    请注意

    如果选择的上下文是一个集群,那么针对集群的SQL节点的查询将显示为特定节点或作为聚合的集群。如果选择其他节点类型,则显示聚合。

  • 数据库:查询时使用的默认数据库。数据库名可能为空,或者如果使用限定表名(例如,选择……从db_name.table_name),或者你签发了使用连接后切换数据库的语句。

  • 执行通知突出显示运行查询时遇到的任何特定问题,包括过度的表扫描和错误的索引使用。它们提供了可能需要额外检查的查询问题的即时指示。

  • 计数:查询执行的次数。该列被进一步划分为三个列,显示查询的执行次数(执行),查询报告错误的次数(犯错),以及发出警告的次数(警告).

  • QRTi:列出查询的“查询响应时间”索引。有关更多信息,请参见第30.2节“查询响应时间索引(QRTi)”

  • 延迟(hh: mm: ss.ms):所有匹配查询的执行时间。这是对应查询的每次调用的时间,通过比较提交查询的时间和服务器返回结果的时间来计算。时间表示为HH:MM:SS。MS(小时、分钟、秒和毫秒)。

    执行时间栏目可进一步细分为以下栏目:

    • 总计:该查询所有执行的累积执行时间。

    • 马克斯:执行该查询的最大执行时间。

    • Avg:执行该查询的平均执行时间。

    • :查询导致的表锁等待时间。

    • 平均历史图(Avg的历史):显示平均执行时间。

    在查看此查询中提供的信息时,比较平均和最大执行时间,以查看在特定服务器上或在查询发生时的特定时间段内是否存在问题,因为这可能表明需要调查的问题。

  • :查询返回的行。该列可细分为以下几列:

    • 总计:查询的所有执行返回的行数总和。

    • 马克斯:查询单次执行返回的最大行数。

    • Avg:查询所有执行返回的平均行数。

  • 字节:每次查询返回的字节数。该列可细分为以下几列:

    • 总计:查询所有执行返回的字节数之和。

    • 马克斯:查询单次执行返回的最大字节数。

    • Avg:查询每次执行返回的平均字节数。

  • 第一次见过:首次看到此查询的规范化版本的日期和时间,可能早于过滤器指定的时间段。

可以通过单击列名对查询列表进行排序。排序的方向(从高到低,或从低到高)由当前选定列旁边的三角形表示。默认情况下,查询列表按延迟:总时间。

为了帮助您定位查询,您可以使用各种条件筛选查询列表。有关可用过滤方法的详细信息,请参见第30.3.3节“过滤查询分析器数据”