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。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |