监控混合表的事务¶
混合表支持 Snowflake 事务监控功能,包括 SHOW TRANSACTIONS、DESCRIBE TRANSACTION、SHOW LOCKS 和 LOCK WAIT HISTORY。
混合表的这些命令和视图的行为与标准 Snowflake 表的行为一致,但以下更改除外:
SHOW LOCKS 命令中引入了一种新的
ROW
锁类型,用于表示针对混合表的行锁。这些锁会被汇总,以显示一个事务持有(一个或多个)行锁,而另一个事务正在等待这些锁。LOCK_WAIT_HISTORY 不会显示与 SCHEMA 相关的信息。
LOCK_WAIT_HISTORY 不会汇总 BLOCKER_QUERIES。如果查询被多个阻塞者阻塞,则这些阻塞者将在视图中显示为多个记录,而不是在单个等待者记录的 BLOCKER_QUERIES JSON 数组中显示为多个条目。
对于 SHOW LOCKS 的结果和 LOCK_WAIT_HISTORY 视图:
在汇总行锁时,假定持有锁的事务在启动时获取锁。
由于 Unistore 事务量可能很大,因此仅显示长时间(约 5 秒)阻塞其他事务的锁。
等待锁的事务即使已经获取了锁(不超过 1 分钟),可能看起来仍在等待锁。锁报告的准确性将在将来的版本中得到提高。
如果阻塞等待中的查询的语句已完成,并且是对混合表的短期运行查询,则阻塞者查询的以下信息不会显示在等待中的查询记录的 BLOCKER_QUERY 字段内:
阻塞者查询的查询 UUID
阻塞者查询的会话 ID
阻塞者查询的用户名
阻塞者查询的数据库 ID
阻塞者查询的数据库名称