架构:

ACCOUNT_USAGE

LOCK_WAIT_HISTORY 视图

此 Account Usage 视图包括等待锁定的 事务 的历史记录。有关详细信息,请参阅 使用 LOCK_WAIT_HISTORY 视图分析被阻止的事务

列名称

数据类型

描述

OBJECT_ID

NUMBER

事务等待锁定的对象(例如表)的内部/系统生成的标识符。

LOCK_TYPE

TEXT

锁定的类型。有效值为 PARTITIONSTREAMTABLE

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 运行的后台进程(例如物化视图的自动维护),则 .is_snowflake:TRUE。.query_id:阻止语句的阻止程序事务中当前语句的查询 ID。如果 is_snowflake 为真,则留空。.transaction_id:阻止程序事务的 ID。如果 is_snowflake 为真,则留空。. . 这个数组中最多可以有 20 个对象。

使用说明

  • 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());
Copy

有关其他示例,请参阅 使用 LOCK_WAIT_HISTORY 视图分析被阻止的事务

语言: 中文