Re: Oracle recommends rebuilding IOTs in AQ to reduce redo

From: Greg Rahn <>
Date: Mon, 7 Jan 2008 21:48:39 -0800
Message-ID: <>

Make sure you are using next_message, not first_message unless you are using a priority queue. The difference is that next_message opens a cursor and processes the queue from that point in time until it has processed those records, then it re-executes the cursor again. First_message opens the cursor each and every time (to check for priority) which can cause unneeded overhead.

Depending on your throughput needs array dequeues will yield some performance gains (as does array anything).

Again, depending on your throughput requirements, a background (dbms_job) coalesce will be beneficial (say every 5-15 minutes or so depending on your needs). Gains will vary by workload. As always, test and measure.

On 1/7/08, <> wrote:
> single row queue
> -------------- Original message ----------------------
> From: "Greg Rahn" <>
> > What db version is this?
> > What is the queue navigation type (first or next message)?
> > Are you doing single row or array enqueues/dequeues?


Greg Rahn
Received on Mon Jan 07 2008 - 23:48:39 CST

Original text of this message