1

gv$aqデータベース内のすべてのキューにわたってさまざまな状態のメッセージの数を含むシステム全体のビューであることを理解しています。

私の質問は:特定のgv$aqと比較してより多くのデータが含まれているqueue_tableため、このビューをクエリして特定の情報 (メッセージ数など) を取得すると、それ自体queue_tableを直接クエリするよりもはるかに時間がかかりqueue_tableます。gv$aqキュー テーブル自体ではなく、クエリを実行したほうがよい特定の理由はありますか?

ありがとう!

4

1 に答える 1

0

ビューqv$aqには、メッセージ数や平均待機時間など、各キューの統計のみが含まれます。にqueue_tableは、個々のメッセージがすべて含まれています。

からメッセージの数を取得するにはqueue_table、Oracle はすべてのメッセージを検査して合計する必要があります。ビューから統計を取得するためにqv$aq、Oracle は単純にシステム メモリから統計を検索します。これははるかに高速です。

于 2013-01-15T07:56:41.370 に答える