了解 Query Performance Insight
确定占用最多资源的查询是所有数据库性能优化工作的第一步。 在旧版 SQL Server 中,这需要大量的跟踪和一系列复杂的 SQL 脚本,这可能会导致数据收集过程变得繁琐。
识别有问题的查询
Azure SQL 数据库提供了名为“查询性能见解”的工具,管理员可以通过该工具快速识别成本高昂的查询。 可以在 Azure SQL 数据库主边栏选项卡中的“智能性能”部分导航到“查询性能见解”。
启动查询性能见解时,你会发现三个按钮,可以用它们筛选长期运行的查询、占用资源最多的查询或自定义筛选器。 默认值为“占用资源最多的查询”。 此选项卡将显示按左侧所选特定资源排序的前五个查询。 在这种情况下,它是按 CPU 排序的。 你还可以选择根据数据 IO 和日志 IO 指标进行排序。
可以通过单击下部网格中的行来深入了解各个查询。 每行将使用唯一的颜色进行标识,该颜色与行上方的条形图中的颜色相关。
切换为“长期运行的查询”,你会看到与先前类似的布局。 在这种情况下,指标限制为按最近 24 小时内的总和持续时间排序的前五个查询。 在图下方的网格中,可以通过单击行来检查特定查询。
切换为自定义选项卡,该选项卡的灵活性略高于其他两个选项。
在此选项卡中,可以进一步定义要如何检查性能数据。 它提供了多个下拉菜单,可用于对数据进行可视化表示。 关键指标是 CPU、Log IO、Data IO 和内存。 这些指标是数据库性能的各个方面,其上限由 Azure SQL 数据库的服务层级和计算资源确定。
如果深入研究单个查询,可以看到查询 ID 和查询本身,以及查询聚合类型和关联的时间段。 此外,查询 ID 还与查询存储中的查询 ID 相关。 然后,可以在查询存储中轻松找到由查询性能见解收集到的指标,以便根据需要进行更深入的分析或者解决问题。
尽管 Query Performance Insight 不显示查询的执行计划,但可以快速识别该查询,并使用该信息从数据库的查询存储中提取计划。