On Tue, May 08, 2007 at 10:18:34AM -0400, Susan Russo wrote:
> explain analyze output on Pg7.3.2:
>
> -> Index Scan using dbxref_idx2 on dbxref dx (cost=0.00..5.83 rows=1 width=21) (actual
time=25.58..25.58rows=0 loops=1)
> Index Cond: ((accession >= 'AY851043'::character varying) AND (accession < 'AY851044'::character
varying))
> Filter: (accession ~~ 'AY851043%'::text)
>
> explain analyze output on Pg8.1.4:
>
> -> Seq Scan on dbxref dx (cost=0.00..47923.91 rows=1 width=21) (actual time=2463.646..2463.646
rows=0loops=1)
> Filter: ((accession)::text ~~ 'AY851043%'::text)
This is almost all of your cost. Did you perchance initdb the 8.1.4 cluster
in a non-C locale? You could always try
CREATE INDEX test_index ON dbxref (accession varchar_pattern_ops);
which would create an index that might be more useful for your LIKE query,
even in a non-C locale.
/* Steinar */
--
Homepage: http://www.sesse.net/