[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pgsql-performance
Subject:    Re: [PERFORM] bad query plans for ~ "^string" (and like "string%") (8.3.6)
From:       Tom Lane <tgl () sss ! pgh ! pa ! us>
Date:       2009-04-08 14:28:09
Message-ID: 9986.1239200889 () sss ! pgh ! pa ! us
[Download RAW message or body]

Marinos Yannikos <mjy@geizhals.at> writes:
> Marinos Yannikos wrote:
>> (what exactly does ANALYZE look at for text columns? in our case, about 
>> 7% of the rows match the index condition, so it seems that left-anchored 
>> regexp/like matches are not evaluated using the gathered 
>> most-common-value list at all)

> oops, I think I gave myself the answer there. Of course the 
> most-common-value list will not help if all the values that match the 
> "bad" index condition exist only once, but have a common prefix...

The costing is really done off the range condition ((e >= 'ean'::text)
AND (e < 'eao'::text) in your example).  I wouldn't think it would have
such a hard time getting a good rowcount estimate for that.  Maybe you
need to bump up the statistics target for that column?

			regards, tom lane

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic