Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » システム・オブジェクト » テーブル » 診断トレーシング・テーブル

 

sa_diagnostic_blocking テーブル

sa_diagnostic_blockingテーブルは、dbo ユーザが所有し、ブロッキング・イベントを記録します。ブロッキング・イベントのロギングが有効な場合、リソースにアクセスを試みている間、接続がブロックされるたびにローがこのテーブルに挿入されます。一般的に、この問題はテーブルまたはローのロックによって発生します。大量にブロックがある場合、テーブルとローの競合を軽減するために、アプリケーションの同時実行性を確認する必要があります。

このテーブルには sa_diagnostic_blocking と sa_tmp_diagnostic_blocking という 2 つのバージョンがあります。

カラム
カラム名 カラム型 カラム制約 テーブル制約
logging_session_id UNSIGNED INT NOT NULL

外部キーは sa_diagnostic_cursor を参照します。

外部キーは sa_diagnostic_request を参照します。

lock_id UNSIGNED BIGINT NOT NULL
request_id UNSIGNED BIGINT

外部キーは sa_diagnostic_request を参照します。

cursor_id UNSIGNED BIGINT

外部キーは sa_diagnostic_cursor を参照します。

original_table_object_id UNSIGNED BIGINT
rowid UNSIGNED BIGINT
block_time TIMESTAMP NOT NULL
unblock_time TIMESTAMP
blocked_by UNSIGNED INT NOT NULL

logging_session_id   診断情報を集めているときに、一意にロギング・セッションを識別する番号。

lock_id   ローまたはテーブルのロックがブロックを引き起こした場合、ブロックを引き起こしたロックの ID。それ以外の場合は NULL。

request_id   ブロックがカーソルのために発生しなかった場合、ブロックされた要求の ID。それ以外の場合は NULL。この値は、sa_diagnostic_request の要求に割り当てられている ID に対応します。

cursor_id   ブロックがカーソルのために派生した場合はカーソルの ID。それ以外の場合は NULL。この値は、sa_diagnostic_cursor のカーソルに割り当てられている ID に対応します。

original_table_object_id   テーブルのロックのためにブロックが発生した場合、ブロックが発生したテーブルの ID。それ以外の場合は NULL。

rowid   テーブルのロックのためにブロックが発生した場合、ブロックが発生したテーブルの ID。それ以外の場合は NULL。

block_time   ブロックが発生した時間。

unblock_time   ブロックが終了した時間。

blocked_by   ロックを保持し、ブロックを引き起こした接続の ID。

参照