- スキーマ:
LOCK_WAIT_HISTORY ビュー¶
このAccount Usageビューには、ロックを待機している トランザクション の履歴が含まれています。詳細については、 LOCK_WAIT_HISTORY ビューでブロックされたトランザクションの分析 をご参照ください。
列¶
OBJECT_ID | NUMBER | ロックを待機しているトランザクションのブロッキングオブジェクト(テーブルなど)の内部/システム生成識別子。 |
---|---|---|
LOCK_TYPE | VARCHAR | ロックの型。有効な値は、 |
OBJECT_NAME | VARCHAR | ロックを待機しているトランザクションのオブジェクト(テーブルなど)の識別子。 |
SCHEMA_ID | NUMBER | トランザクションがロックを待機しているオブジェクトのスキーマの内部/システム生成識別子。 |
SCHEMA_NAME | VARCHAR | トランザクションがロックを待機しているオブジェクトのスキーマの識別子。NULL は |
DATABASE_ID | NUMBER | トランザクションがロックを待機しているオブジェクトのデータベースの内部/システム生成識別子。 |
DATABASE_NAME | VARCHAR | トランザクションがロックを待機しているオブジェクトのデータベースの識別子。 |
QUERY_ID | VARCHAR | ロックを待機している SQL ステートメントの内部/システム生成識別子。 |
TRANSACTION_ID | NUMBER | ロックを待機しているステートメントを含む内部/システム生成された トランザクションの識別子。トランザクション内のステートメントに関する追加の詳細については、 QUERY_HISTORY ビュー と結合できます。 |
REQUESTED_AT | TIMESTAMP_LTZ | ロックを待機しているトランザクションによってロックがリクエストされたときのタイムスタンプ。 |
ACQUIRED_AT | TIMESTAMP_LTZ | ロックを保持しているトランザクションによってロックが取得されたときのタイムスタンプ。 |
BLOCKER_QUERIES | VARIANT | オブジェクトの JSON 配列。各オブジェクトは、以下のプロパティを持つブロッカークエリです。
この配列には最大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());
その他の例については、 LOCK_WAIT_HISTORY ビューでブロックされたトランザクションの分析 をご参照ください。