sys.query_store_wait_stats (Transact-SQL)
適用於: SQL Server 2017 (14.x) 和更新版本的 Azure SQL 資料庫
包含查詢等候信息的相關信息。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
wait_stats_id | bigint | 代表plan_id、runtime_stats_interval_id、execution_type和wait_category等候統計數據的數據列標識符。 它僅適用於過去的運行時間統計數據間隔。 針對目前使用中的間隔,可能會有多個數據列代表plan_id所參考之計劃的等候統計數據,而執行類型是由 execution_type 所代表,以及以 wait_category 表示的等候類別。 一般而言,一個數據列代表排清到磁碟的等候統計數據,而其他數據列則代表記憶體內部狀態。 因此,若要取得每個間隔的實際狀態,您需要匯總計量、依plan_id、runtime_stats_interval_id、execution_type和wait_category分組。 |
plan_id | bigint | 外鍵。 聯結至 sys.query_store_plan (Transact-SQL) 。 |
runtime_stats_interval_id | bigint | 外鍵。 聯結至 sys.query_store_runtime_stats_interval (Transact-SQL) 。 |
wait_category | tinyint | 等候類型會使用下表進行分類,然後跨這些等候類別匯總等候時間。 不同的等候類別需要不同的後續分析來解決問題,但相同類別的等候類型會導致類似的疑難解答體驗,並提供受影響的查詢,除了等候之外,還有遺漏的部分可順利完成大部分這類調查。 |
wait_category_desc | nvarchar(128) | 如需等候類別欄位的文字描述,請檢閱下表。 |
execution_type | tinyint | 決定查詢執行的類型: 0 - 定期執行 (成功完成) 3 - 用戶端起始中止執行 4 - 例外狀況中止執行 |
execution_type_desc | nvarchar(128) | 執行類型欄位的文字描述: 0 - 一般 3 - 已中止 4 - 例外狀況 |
total_query_wait_time_ms | bigint | 匯總間隔和等候類別內的查詢計劃總 CPU wait 時間(以毫秒為單位報告)。 |
avg_query_wait_time_ms | float | 匯總間隔和等候類別中每個執行的查詢計劃平均等候持續時間(以毫秒為單位報告)。 |
last_query_wait_time_ms | bigint | 匯總間隔和等候類別中查詢計劃的上次等候持續時間(以毫秒為單位報告)。 |
min_query_wait_time_ms | bigint | 匯總間隔和等候類別內的查詢計劃最短 CPU wait 時間(以毫秒為單位報告)。 |
max_query_wait_time_ms | bigint | 匯總間隔和等候類別內查詢計劃的時間上限 CPU wait (以毫秒為單位報告)。 |
stdev_query_wait_time_ms | float | Query wait 匯總間隔和等候類別內查詢計劃的持續時間標準偏差(以毫秒為單位報告)。 |
replica_group_id | bigint | 識別此複本的複本集編號。 sys.query_store_replicas外鍵。 適用於:SQL Server (從 SQL Server 2022 (16.x) 開始) |
等候類別對應數據表
“%” 用來做為通配符
整數值 | 等候類別 | 等候類型包含在類別中 |
---|---|---|
0 | Unknown | Unknown |
1 | CPU | SOS_SCHEDULER_YIELD |
2 | 背景工作線程* | THREADPOOL |
3 | 鎖定 | LCK_M_% |
4 | 閂鎖 | LATCH_% |
5 | 緩衝區閂鎖 | PAGELATCH_% |
6 | 緩衝區IO | PAGEIOLATCH_% |
7 | 彙編* | RESOURCE_SEMAPHORE_QUERY_COMPILE |
8 | SQL CLR | CLR%、SQLCLR% |
9 | 鏡像 | DBMIRROR% |
10 | 交易 | XACT、DTC%、TRAN_MARKLATCH_%、MSQL_XACT_%、TRANSACTION_MUTEX |
11 | 怠 | SLEEP_%、LAZYWRITER_SLEEP、SQLTRACE_BUFFER_FLUSH、SQLTRACE_INCREMENTAL_FLUSH_SLEEP、SQLTRACE_WAIT_ENTRIES、FT_IFTS_SCHEDULER_IDLE_WAIT、XE_DISPATCHER_WAIT、REQUEST_FOR_DEADLOCK_SEARCH、LOGMGR_QUEUE、ONDEMAND_TASK_QUEUE、CHECKPOINT_QUEUE、XE_TIMER_EVENT |
12 | 先買的 | PREEMPTIVE_% |
13 | Service Broker | BROKER_% (但不BROKER_RECEIVE_WAITFOR) |
14 | Tran Log IO | LOGMGR、LOGBUFFER、LOGMGR_RESERVE_APPEND、LOGMGR_FLUSH、LOGMGR_PMM_LOG、CHKPT、WRITELOG |
15 | 網路IO | ASYNC_NETWORK_IO、NET_WAITFOR_PACKET、PROXY_NETWORK_IO、EXTERNAL_SCRIPT_NETWORK_IOF |
16 | 平行處理原則 | CXCONSUMER、CXPACKET、CXSYNC_CONSUMER、CXSYNC_PORT、EXCHANGE、HT%、BMP%、BP% |
17 | 記憶體 | RESOURCE_SEMAPHORE、CMEMTHREAD、CMEMPARTITIONED、EE_PMOLOCK、MEMORY_ALLOCATION_EXT、RESERVED_MEMORY_ALLOCATION_EXT、MEMORY_GRANT_UPDATE |
18 | 使用者等候 | WAITFOR、WAIT_FOR_RESULTS、BROKER_RECEIVE_WAITFOR |
19 | 追蹤 | TRACEWRITE、SQLTRACE_LOCK、SQLTRACE_FILE_BUFFER、SQLTRACE_FILE_WRITE_IO_COMPLETION、SQLTRACE_FILE_READ_IO_COMPLETION、SQLTRACE_PENDING_BUFFER_WRITERS、SQLTRACE_SHUTDOWN、QUERY_TRACEOUT、TRACE_EVTNOTIFF |
20 | 全文搜索 | FT_RESTART_CRAWL、FULLTEXT GATHERER、MSSEARCH、FT_METADATA_MUTEX、FT_IFTSHC_MUTEX、FT_IFTSISM_MUTEX、FT_IFTS_RWLOCK、FT_COMPROWSET_RWLOCK、FT_MASTER_MERGE、FT_PROPERTYLIST_CACHE、FT_MASTER_MERGE_COORDINATOR、PWAIT_RESOURCE_SEMAPHORE_FT_PARALLEL_QUERY_SYNC |
21 | 其他磁碟 IO | ASYNC_IO_COMPLETION、IO_COMPLETION、BACKUPIO、WRITE_COMPLETION、IO_QUEUE_LIMIT、IO_RETRY |
22 | 複寫 | SE_REPL_%、REPL_%、HADR_% HADR_THROTTLE_LOG_RATE_GOVERNOR、PWAIT_HADR_%、REPLICA_WRITES、FCB_REPLICA_WRITE、FCB_REPLICA_READ PWAIT_HADRSIM |
23 | 記錄速率管理員 | LOG_RATE_GOVERNOR、POOL_LOG_RATE_GOVERNOR、HADR_THROTTLE_LOG_RATE_GOVERNOR、INSTANCE_LOG_RATE_GOVERNOR、RBIO_RG_% |
* 查詢存放區 只在查詢執行期間追蹤等候統計數據,而不是在查詢編譯期間。 這會限制 查詢存放區 追蹤編譯等候統計數據的能力。
權限
需要 VIEW DATABASE STATE
權限。
下一步
在下列文章中深入瞭解 查詢存放區:
- 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_runtime_stats_interval (Transact-SQL)
- 使用查詢存放區監視效能
- 目錄檢視 (Transact-SQL)
- 查詢存放區預存程序 (Transact-SQL)