适用于:Microsoft Fabric 中的 SQL 分析终结点和仓库
queryinsights.exec_requests_history Microsoft Fabric Data Warehouse 提供每个完成的 SQL 请求信息。
| 列名称 | 数据类型 | 描述 |
|---|---|---|
distributed_statement_id |
uniqueidentifier | 每个查询的唯一 ID。 |
database_name |
varchar(200) | 指定在查询执行时 SQL 终结点连接到的项的名称。 |
submit_time |
datetime2 | 请求提交执行的时间。 |
start_time |
datetime2 | 查询开始运行时的时间。 |
end_time |
datetime2 | 查询完成执行的时间。 |
is_distributed |
int | 指定是否在分布式性质(1)中执行查询( ) 。0 |
statement_type |
varchar(128) | 识别执行的命令类型。 常见的语句类型包括以下值: SELECT, INSERT, UPDATE, DELETE |
total_elapsed_time_ms |
int | 查询完成所花费的总时间(以毫秒为单位)。 |
login_name |
varchar(128) | 发送查询的用户或系统的名称。 |
row_count |
bigint | 查询检索的行数。 |
status |
varchar(30) | 查询状态:Succeeded、Failed或 Canceled |
session_id |
smallint | 将查询链接到特定用户会话的 ID。 |
connection_id |
uniqueidentifier | 查询连接的标识号。 Nullable。 |
program_name |
varchar(128) | 启动会话的客户端程序的名称。 对于内部会话,该值 NULL。 可为 null。 |
batch_id |
uniqueidentifier | 分组查询的 ID(如果适用)。 Nullable。 |
root_batch_id |
uniqueidentifier | 主查询组的 ID(如果嵌套)。 Nullable。 |
query_hash |
varchar(200) | 对查询计算的二进制哈希值,用于标识具有类似逻辑的查询。 可以使用查询哈希在 Query Insight 视图之间关联。 有关详细信息,请参阅 Query Insights - 聚合。 |
label |
varchar(8000) | 与某些 SELECT 查询语句关联的可选标签字符串。 |
result_cache_hit |
int | 显示此查询 的结果集缓存 的状态:2 - 查询使用的结果集缓存(缓存命中)1 - 查询创建的结果集缓存0 - 查询不适用于缓存创建或使用情况 |
allocated_cpu_time_ms |
bigint | 显示为查询执行分配的 CPU 的总时间。 |
data_scanned_remote_storage_mb |
十进制数(18,3) | 显示从远程存储(One Lake)扫描/读取的数据量。 |
data_scanned_memory_mb |
十进制数(18,3) | 显示从本地内存扫描的数据量。 从磁盘和内存一起扫描的数据表示从缓存中读取的数据量。 |
data_scanned_disk_mb |
十进制数(18,3) | 显示从本地磁盘扫描/读取的数据量。 从磁盘和内存一起扫描的数据表示从缓存中读取的数据量。 |
command |
varchar(8000) | 执行查询的完整文本。 |
权限
应该有权访问高级容量工作区中具有参与者或更高权限的 SQL 分析终结点或仓库。
例子
答: 查找特定命令文本的查询性能
你可以通过 queryinsights.exec_requets_history 视图查找关键词(如表、视图或列)的查询执行历史。 例如,要在表中查找查询 SalesInvoices :
SELECT *
FROM
queryinsights.exec_requests_history
WHERE
command LIKE '%SalesInvoices%';
B. 比较不同标签的查询
你可以用视图 queryinsights.exec_requets_history 比较不同标签查询之间的差异,比如查询是否使用 数据聚类。 关于在 Fabric Data Warehouse 中使用数据聚类的教程,请参见“ 在 Fabric Data Warehouse 中使用数据聚类”。
SELECT *
FROM
queryinsights.exec_requests_history
WHERE
command LIKE '%NYTaxi%'
AND label IN ('Regular','Clustered')
ORDER BY
submit_time DESC;