Re: order by slowing down a query by 80 times - Mailing list pgsql-performance

From Tom Lane
Subject Re: order by slowing down a query by 80 times
Date
Msg-id 3371.1277756338@sss.pgh.pa.us
Whole thread Raw
In response to Re: order by slowing down a query by 80 times  (Rajesh Kumar Mallah <mallah.rajesh@gmail.com>)
List pgsql-performance
Rajesh Kumar Mallah <mallah.rajesh@gmail.com> writes:
> co_name_vec is actually the auxiliary tsvector column that is mantained via
> a
> an update trigger. and the index that you suggested is there .

Well, in that case it's just a costing/statistics issue.  The planner is
probably estimating there are more tsvector matches than there really
are, which causes it to think the in-order indexscan will terminate
earlier than it really will, so it goes for that instead of a full scan
and sort.  If this is 8.4 then increasing the statistics target for the
co_name_vec column should help that.  In previous versions I'm not sure
how much you can do about it other than raise random_page_cost, which is
likely to be a net loss overall.

            regards, tom lane

pgsql-performance by date:

Previous
From: Rajesh Kumar Mallah
Date:
Subject: Re: order by slowing down a query by 80 times
Next
From: Bruce Momjian
Date:
Subject: Re: cpu bound postgresql setup.