STL_COMMIT_STATS
コミットのさまざまなステージのタイミングやコミットされるブロックの数など、コミットのパフォーマンスに関連するメトリクスを提供します。トランザクションのどの部分がコミットに費やされ、どのぐらいのキューイングが発生しているかを特定するには、STL_COMMIT_STATS に対してクエリを実行します。
STL_COMMIT_STATS はスーパーユーザーのみに表示されます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。
このテーブルの一部またはすべてのデータは、SYS モニタリングビュー SYS_TRANSACTION_HISTORY でも確認できます。SYS モニタリングビューのデータは、使いやすく理解しやすいようにフォーマットされます。クエリには、SYS モニタリングビューを使用することをお勧めします。
テーブルの列
列名 | データ型 | 説明 |
---|---|---|
xid | bigint | コミットされているトランザクション ID。 |
node | integer | ノード番号。-1 はリーダーノードです。 |
startqueue | timestamp | コミット用キューイングの開始。 |
startwork | timestamp | コミットの開始。 |
endflush | timestamp | ダーティブロックフラッシュフェーズの終了。 |
endstage | timestamp | メタデータステージングフェーズの終了。 |
endlocal | timestamp | ローカルコミットフェーズの終了。 |
startglobal | timestamp | グローバルフェーズの開始。 |
endtime | timestamp | コミットの終了。 |
queuelen | bigint | このトランザクションより先にコミットキューに入れられたトランザクションの数。 |
permblocks | bigint | このコミットの時点における既存の永続ブロックの数。 |
newblocks | bigint | このコミットの時点における新しい永続ブロックの数。 |
dirtyblocks | bigint | このコミットの一部として書き込む必要があったブロックの数。 |
headers | bigint | このコミットの一部として書き込む必要があったブロックヘッダーの数。 |
numxids | integer | アクティブな DML トランザクションの数。 |
oldestxid | bigint | 最も古いアクティブな DML のトランザクションの XID。 |
extwritelatency | bigint | この情報は、内部使用に限定されています。 |
metadatawritten | int | この情報は、内部使用に限定されています。 |
tombstonedblocks | bigint | この情報は、内部使用に限定されています。 |
tossedblocks | bigint | この情報は、内部使用に限定されています。 |
batched_by | bigint | この情報は、内部使用に限定されています。 |
サンプルクエリ
select node, datediff(ms,startqueue,startwork) as queue_time, datediff(ms, startwork, endtime) as commit_time, queuelen from stl_commit_stats where xid = 2574 order by node; node | queue_time | commit_time | queuelen -----+--------------+-------------+--------- -1 | 0 | 617 | 0 0 | 444950725641 | 616 | 0 1 | 444950725636 | 616 | 0