Re: Shouldn't the planner have a higher cost for reverse index scans?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Lists <lists@xxxxxxxxxxx> writes:
> I already had a separate index on uid

>     CREATE INDEX idx_user_comments_uid
>       ON user_comments
>       USING btree
>       (uid);

> Under the circumstances, shouldn't a bitmap of those 2 indexes be far 
> faster than using just the date index (compared to the old plan, not the 
> new composite index). Why would the planner not choose that plan?

It wouldn't produce sorted output; you'd have to read all the rows with
uid 1 and then sort them to find the lowest [highest] comment_date.
I'm sure the planner did consider that, but guessed that the other way
would win on average.  The fact that you have lots of rows with uid=1
would tend to push its cost estimates in that direction.  Unfortunately
it doesn't have any clue that the rows with uid=1 are concentrated in
older comment_dates, making the approach a loser for the highest-date
flavor of the problem.

			regards, tom lane

-- 
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux