sys.query_store_runtime_stats (Transact-SQL)

适用于: SQL Server 2016 (13.x) 及更高版本 Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics

包含有关查询的运行时执行统计信息的信息。

列名称 数据类型 描述
runtime_stats_id bigint 表示 plan_id、execution_type 和 runtime_stats_interval_id 的运行时执行统计信息的行的标识符。 它仅在过去的运行时统计间隔中是唯一的。 对于当前活动间隔,可能有多个行表示 plan_id 引用的计划运行时统计信息,执行类型由 execution_type 表示。 通常有一行表示刷新到磁盘的运行时统计信息,而其他行表示内存中状态。 因此,要获取每个间隔的实际状态,需要聚合指标,按 plan_id、execution_type 和 runtime_stats_interval_id 进行分组
注意:Azure Synapse Analytics 将始终返回零 (0)
plan_id bigint 外键。 联接到 sys.query_store_plan (Transact-SQL)
runtime_stats_interval_id bigint 外键。 联接到 sys.query_store_runtime_stats_interval (Transact-SQL)
execution_type tinyint 确定查询执行的类型:

0 - 常规执行(已成功完成)

3 - 客户端发起的执行中止

4 - 由异常引起的执行中止
execution_type_desc nvarchar(128) 执行类型字段的文本说明:

0 - 常规

3 - 已中止

4 - 异常
first_execution_time datetimeoffset 聚合间隔内查询计划的首次执行时间。 这是查询执行的结束时间。
last_execution_time datetimeoffset 聚合间隔内查询计划的上次执行时间。 这是查询执行的结束时间。
count_executions bigint 聚合间隔内查询计划的执行总数。
avg_duration float 聚合间隔内查询计划的平均持续时间(以微秒为单位报告)。
last_duration bigint 聚合间隔内查询计划的上次持续时间(以微秒为单位报告)。
min_duration bigint 聚合间隔内查询计划的最小持续时间(以微秒为单位报告)。
max_duration bigint 聚合间隔内查询计划的最大持续时间(以微秒为单位报告)。
stdev_duration float 聚合间隔内查询计划的持续时间标准偏差(以微秒为单位报告)。
avg_cpu_time float 聚合间隔内查询计划的平均 CPU 时间(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_cpu_time bigint 聚合间隔内查询计划的上次 CPU 时间(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_cpu_time bigint 聚合间隔内查询计划的最小 CPU 时间(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_cpu_time bigint 聚合间隔内查询计划的最大 CPU 时间(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
stdev_cpu_time float 聚合间隔内查询计划的 CPU 时间标准偏差(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
avg_logical_io_reads float 聚合间隔内查询计划的平均逻辑 I/O 读取数(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_logical_io_reads bigint 聚合间隔内查询计划的上次逻辑 I/O 读取数(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_logical_io_reads bigint 聚合间隔内查询计划的最小逻辑 I/O 读取数(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_logical_io_reads bigint 聚合间隔内查询计划的最大逻辑 I/O 读取数(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
stdev_logical_io_reads float 聚合间隔内查询计划的逻辑 I/O 读取数标准偏差(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
avg_logical_io_writes float 聚合间隔内查询计划的平均逻辑 I/O 写入数(表示为写入的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_logical_io_writes bigint 聚合间隔内查询计划的上次逻辑 I/O 写入数(表示为写入的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_logical_io_writes bigint 聚合间隔内查询计划的最小逻辑 I/O 写入数(表示为写入的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_logical_io_writes bigint 聚合间隔内查询计划的最大逻辑 I/O 写入数(表示为写入的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
stdev_logical_io_writes float 聚合间隔内查询计划的逻辑 I/O 写入数标准偏差(表示为写入的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
avg_physical_io_reads float 聚合间隔内查询计划的平均物理 I/O 读取数(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_physical_io_reads bigint 聚合间隔内查询计划的上次物理 I/O 读取数(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_physical_io_reads bigint 聚合间隔内查询计划的最小物理 I/O 读取数(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_physical_io_reads bigint 聚合间隔内查询计划的最大物理 I/O 读取数(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
stdev_physical_io_reads float 聚合间隔内查询计划的物理 I/O 读取数标准偏差(表示为读取的 8 KB 页数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
avg_clr_time float 聚合间隔内查询计划的平均 CLR 时间(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_clr_time bigint 聚合间隔内查询计划的上次 CLR 时间(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_clr_time bigint 聚合间隔内查询计划的最小 CLR 时间(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_clr_time bigint 聚合间隔内查询计划的最大 CLR 时间(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
stdev_clr_time float 聚合间隔内查询计划的 CLR 时间标准偏差(以微秒为单位报告)。
注意:Azure Synapse Analytics 将始终返回零 (0)
avg_dop float 聚合间隔内查询计划的平均 DOP(并行度)。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_dop bigint 聚合间隔内查询计划的上次 DOP(并行度)。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_dop bigint 聚合间隔内查询计划的最小 DOP(并行度)。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_dop bigint 聚合间隔内查询计划的最大 DOP(并行度)。
注意:Azure Synapse Analytics 将始终返回零 (0)
stdev_dop float 聚合间隔内查询计划的 DOP(并行度)标准偏差。
注意:Azure Synapse Analytics 将始终返回零 (0)
avg_query_max_used_memory float 聚合间隔内查询计划的平均内存授予(报告为 8 KB 页数)。 对于使用本机编译的内存优化过程的查询,始终为 0。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_query_max_used_memory bigint 聚合间隔内查询计划的上次内存授予(报告为 8 KB 页数)。 对于使用本机编译的内存优化过程的查询,始终为 0。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_query_max_used_memory bigint 聚合间隔内查询计划的最小内存授予(报告为 8 KB 页数)。 对于使用本机编译的内存优化过程的查询,始终为 0。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_query_max_used_memory bigint 聚合间隔内查询计划的最大内存授予(报告为 8 KB 页数)。 对于使用本机编译的内存优化过程的查询,始终为 0。
注意:Azure Synapse Analytics 将始终返回零 (0)
stdev_query_max_used_memory float 聚合间隔内查询计划的内存授予标准偏差(报告为 8 KB 页数)。 对于使用本机编译的内存优化过程的查询,始终为 0。
注意:Azure Synapse Analytics 将始终返回零 (0)
avg_rowcount float 聚合间隔内查询计划返回的平均行数。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_rowcount bigint 聚合间隔内上次执行查询计划返回的行数。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_rowcount bigint 聚合间隔内查询计划返回的最小行数。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_rowcount bigint 聚合间隔内查询计划返回的最大行数。
stdev_rowcount float 聚合间隔内查询计划返回行数的标准偏差。
avg_num_physical_io_reads float 聚合间隔内查询计划的平均物理 I/O 读取数(表示为读取 I/O 操作数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_num_physical_io_reads bigint 聚合间隔内查询计划的上次物理 I/O 读取数(表示为读取 I/O 操作数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_num_physical_io_reads bigint 聚合间隔内查询计划的最小物理 I/O 读取数(表示为读取 I/O 操作数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_num_physical_io_reads bigint 聚合间隔内查询计划的最大物理 I/O 读取数(表示为读取 I/O 操作数)。
注意:Azure Synapse Analytics 将始终返回零 (0)
avg_log_bytes_used float 聚合间隔内查询计划使用的数据库日志中的平均字节数。
适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
注意:Azure Synapse Analytics 将始终返回零 (0)
last_log_bytes_used bigint 聚合间隔内上次执行查询计划使用的数据库日志中的字节数。
适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
注意:Azure Synapse Analytics 将始终返回零 (0)
min_log_bytes_used bigint 聚合间隔内查询计划使用的数据库日志中的最小字节数。
适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
注意:Azure Synapse Analytics 将始终返回零 (0)
max_log_bytes_used bigint 聚合间隔内查询计划使用的数据库日志中的最大字节数。
适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
注意:Azure Synapse Analytics 将始终返回零 (0)
stdev_log_bytes_used float 聚合间隔内查询计划使用的数据库日志中的字节数的标准偏差。
适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
注意:Azure Synapse Analytics 将始终返回零 (0)
avg_tempdb_space_used float 聚合间隔内 tempdb 用于查询计划的平均页数(以 8 KB 页数表示)。

适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
last_tempdb_space_used bigint 聚合间隔内 tempdb 用于查询计划的最后一个页数(以 8 KB 页数表示)。

适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
min_tempdb_space_used bigint 聚合间隔内 tempdb 用于查询计划的最小页数(以 8 KB 页表示)。

适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
max_tempdb_space_used bigint 聚合间隔内 tempdb 用于查询计划的最大页数(以 8 KB 页数表示)。

适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
stdev_tempdb_space_used float 聚合间隔内查询计划的标准偏差中使用的 tempdb 页数(以 8 KB 页数表示)。

适用于:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库。
avg_page_server_io_reads float 聚合间隔内查询计划的平均页面服务器 I/O 读取数(表示为读取的 8 KB 页数)。

适用于:Azure SQL 数据库超大规模
注意:Azure Synapse Analytics、Azure SQL 数据库、Azure SQL 托管实例(非超大规模)将始终返回零 (0)。
last_page_server_io_reads bigint 聚合间隔内查询计划的上次页面服务器 I/O 读取数(表示为读取的 8 KB 页数)。

适用于:Azure SQL 数据库超大规模
注意:Azure Synapse Analytics、Azure SQL 数据库、Azure SQL 托管实例(非超大规模)将始终返回零 (0)。
min_page_server_io_reads bigint 聚合间隔内查询计划的最小页面服务器 I/O 读取数(表示为读取的 8 KB 页数)。

适用于:Azure SQL 数据库超大规模
注意:Azure Synapse Analytics、Azure SQL 数据库、Azure SQL 托管实例(非超大规模)将始终返回零 (0)。
max_page_server_io_reads bigint 聚合间隔内查询计划的最大页面服务器 I/O 读取数(表示为读取的 8 KB 页数)。

适用于:Azure SQL 数据库超大规模
注意:Azure Synapse Analytics、Azure SQL 数据库、Azure SQL 托管实例(非超大规模)将始终返回零 (0)。
stdev_page_server_io_reads float 聚合间隔内查询计划的页面服务器 I/O 读取数的标准偏差(表示为读取的 8 KB 页数)。

适用于:Azure SQL 数据库超大规模
注意:Azure Synapse Analytics、Azure SQL 数据库、Azure SQL 托管实例(非超大规模)将始终返回零 (0)。
replica_group_id bigint 标识此副本的副本集编号。 用于sys.query_store_replicas外键。

适用于:SQL Server(SQL Server 2022 (16.x) 及更高版本)

权限

需要 VIEW DATABASE STATE 权限。

注解

在极少数情况下,你可能会注意到 DOP 列(max_dop、min_dop、avg_dop和last_dop)报告大量。 当查询在具有大量处理器的系统上执行时,可能会发生这种情况。 在查询使用用户定义的函数的情况下,你可能会注意到这种差异。 工程团队正在调查此问题,并在此问题得到解决时更新此说明。 这是针对此目录视图收集的统计信息中的报告问题,不会影响实际查询执行或其运行时性能。

后续步骤

通过以下文章详细了解查询存储: