gv $ aq与queue_table

时间:2013-01-15 05:18:23

标签: oracle oracle-aq

我理解gv$aq是一个系统范围的视图,它包含数据库中所有队列中不同状态的消息数。

我的问题是:由于gv$aq与任何给定的queue_table相比将包含更多数据,因此查询此视图以获取特定{{的消息的数量等){ 1}}比直接查询queue_table本身需要花费更多的时间。我们应该更好地查询queue_table而不是队列表本身有什么特别的原因吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

视图qv$aq仅包含每个队列的统计信息,如消息数或平均等待时间。 queue_table包含所有单个邮件。

要获取queue_table的消息数,Oracle必须检查所有消息并对其进行总结。为了从qv$aq视图中获取统计数据,Oracle只是从系统内存中查找它们,这要快得多。