Re: How can I speed up this function?

From: Klint Gore <kg(at)kgb(dot)une(dot)edu(dot)au>
To: David Mitchell <david(dot)mitchell(at)telogis(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: How can I speed up this function?
Date: 2005-06-28 08:36:35
Message-ID: 42C10C1338.6F82KG@129.180.47.120
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Tue, 28 Jun 2005 14:37:34 +1200, David Mitchell <david(dot)mitchell(at)telogis(dot)com> wrote:
> FOR transaction IN SELECT t.trans_id as ID
> FROM pending_trans AS t WHERE fetched = false
> ORDER BY trans_id LIMIT 50

What the the average number of statements per transaction? if avg > 2
then you could save a small amount of time by lowering the limit.

You might also save some time by using FOR UPDATE on the select since
the next thing you're going to do is update the value.

> FOR statement IN SELECT s.id, s.transaction_id, s.table_name, s.op,
> s.data
> FROM dbmirror.pending_statement AS s
> WHERE s.transaction_id = transaction.id
> ORDER BY s.id ASC

Have you explained this to make sure it's using the created index? You
might need to order by both transaction_id, id.

klint.

+---------------------------------------+-----------------+
: Klint Gore : "Non rhyming :
: EMail : kg(at)kgb(dot)une(dot)edu(dot)au : slang - the :
: Snail : A.B.R.I. : possibilities :
: Mail University of New England : are useless" :
: Armidale NSW 2351 Australia : L.J.J. :
: Fax : +61 2 6772 5376 : :
+---------------------------------------+-----------------+

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Christopher Kings-Lynne 2005-06-28 08:50:42 Re: Too slow querying a table of 15 million records
Previous Message Tom Lane 2005-06-28 06:40:56 Re: Poor index choice -- multiple indexes of the same columns