Re: Problem with large query

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Marc Cousin <mcousin(at)sigma(dot)fr>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Problem with large query
Date: 2004-09-08 14:56:17
Message-ID: 20325.1094655377@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Marc Cousin <mcousin(at)sigma(dot)fr> writes:
> The query has been generated by business objects ... i'ill try to suggest to the developpers to remove this constant (if they can)...
> The fields used by the sort are of type numeric(6,0) or (10,0) ...
> Could it be better if the fields were integer or anything else ?

integer or bigint would be a WHOLE lot faster. I'd venture that
comparing two numerics is order of a hundred times slower than
comparing two integers.

Even if you don't want to change the fields on-disk, you might think
about casting them all to int/bigint in the query.

Another thing that might or might not be easy is to change the order of
the GROUP BY items so that the fields with the largest number of
distinct values are listed first. If two rows are distinct at the first
column, the sorting comparison doesn't even have to look at the
remaining columns ...

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Marc Cousin 2004-09-08 15:17:47 Re: Problem with large query
Previous Message Marc Cousin 2004-09-08 14:49:59 Re: Problem with large query