Tom Lane wrote:
> Jeff Amiel <becauseimjeff@yahoo.com> writes:
>
>> Ok...third try. The cost when passing in an empty string is SIGNIFICANTLY higher than when not.
>>
>
> That just reflects the fact that it's expecting a lot more rows matching
> that query. I suppose this is because the statistics show you've got a
> lot more rows containing the empty string than other values.
If you believe the statistics the planner is using are not a useful
approximation of your data, you can try raising the
default_statistics_target. IIRC, it was 10 in that version of PG but has
been raised to 100 in the latest version as the improvement due to
additional data available to the planner seems to typically outweigh the
overhead of collecting/storing/processing the additional stats.
Also, are you sure that the table is being analyzed either by autovacuum
or manually (if you analyze your table, does the explain change
significantly?).
Cheers,
Steve