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)报告大量。 当查询在具有大量处理器的系统上执行时,可能会发生这种情况。 在查询使用用户定义的函数的情况下,你可能会注意到这种差异。 工程团队正在调查此问题,并在此问题得到解决时更新此说明。 这是针对此目录视图收集的统计信息中的报告问题,不会影响实际查询执行或其运行时性能。
后续步骤
通过以下文章详细了解查询存储:
- sys.query_store_replicas (Transact-SQL)
- sys.database_query_store_options (Transact-SQL)
- sys.query_context_settings (Transact-SQL)
- sys.query_store_plan (Transact-SQL)
- sys.query_store_query (Transact-SQL)
- sys.query_store_query_text (Transact-SQL)
- sys.query_store_wait_stats (Transact-SQL)
- sys.query_store_runtime_stats_interval (Transact-SQL)
- 相关视图、函数和过程
- 目录视图 (Transact-SQL)
- 查询存储存储过程 (Transact-SQL)
- Query Store 最佳实践