LOCK_WAIT_HISTORY 视图¶
此 Account Usage 视图包括等待锁定的 事务 的历史记录。有关详细信息,请参阅 使用 LOCK_WAIT_HISTORY 视图分析被阻止的事务。
列¶
列名称 |
数据类型 |
描述 |
---|---|---|
OBJECT_ID |
NUMBER |
事务等待锁定的对象(例如表)的内部/系统生成的标识符。 |
LOCK_TYPE |
TEXT |
锁定的类型。有效值为 |
OBJECT_NAME |
TEXT |
事务等待锁定的对象(例如表)的标识符。 |
SCHEMA_ID |
NUMBER |
事务等待锁定的对象架构的内部/系统生成的标识符。 |
SCHEMA_NAME |
TEXT |
事务等待锁定的对象架构的标识符。 |
DATABASE_ID |
NUMBER |
事务等待锁定的对象数据库的内部/系统生成的标识符。 |
DATABASE_NAME |
TEXT |
事务等待锁定的对象的数据库的标识符。 |
QUERY_ID |
TEXT |
等待锁定的 SQL 语句的内部/系统生成的标识符。 |
TRANSACTION_ID |
NUMBER |
采用等待锁定的语句的 事务的内部/系统生成的标识符。可以与 QUERY_HISTORY 视图 联接,以获取有关事务中语句的更多详细信息。 |
REQUESTED_AT |
TIMESTAMP_LTZ |
等待锁定的事务请求锁定的时间戳。 |
ACQUIRED_AT |
TIMESTAMP_LTZ |
持有锁定的事务获取锁定的时间戳。 |
BLOCKER_QUERIES |
VARIANT |
对象的 JSON 数组。每个对象都是具有以下属性的阻止程序查询:如果查询是由 Snowflake 运行的后台进程(例如物化视图的自动维护),则 . – |
使用说明¶
blocker_queries
数组中返回的第一个阻止程序查询 ID 是以下查询的 ID:等待锁定的事务开始等待时在持有锁定的事务中执行的查询。请注意,在阻止程序事务中,该查询之前的查询也可能获得了锁定,因此应进行调查。输出中的每行代表一项等待锁定的事务。请注意,在此事务之前可能还有其他事务在等待相同的锁定。
示例¶
查找过去 24 小时内所有请求了锁定的已阻止事务:
SELECT query_id, object_name, transaction_id, blocker_queries
FROM snowflake.account_usage.lock_wait_history
WHERE requested_at >= dateadd('hours', -24, current_timestamp());
有关其他示例,请参阅 使用 LOCK_WAIT_HISTORY 视图分析被阻止的事务。