From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Angva" <angvaw(at)gmail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: 8.2 planner and "like" |
Date: | 2007-01-30 01:00:43 |
Message-ID: | 22306.1170118843@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
"Angva" <angvaw(at)gmail(dot)com> writes:
> Our company's application runs searches with "like" where clauses, for
> example: "where id like '38F20A%'". This query once ran in under 10 ms,
> but since upgrading from 8.1.3 to 8.2.0, it now takes about 500 ms to
> run. The problem appears to be that the planner does not want to use an
> index since the upgrade, for "like" queries.
> We experimented with planner cost constants, and we even tried setting
> enable_seqscan to false. A seq scan was done every time.
If it won't do it even with seqscan off, then it can't, which most
likely means that you mistakenly picked a non-C locale for the new
installation. You can either fix that (requiring re-initdb :-() or
provide a "pattern_ops" index that's not subject to locale oddities.
Non-C locales tend to impose a sort ordering that's not suited for
LIKE pattern matching. See
http://www.postgresql.org/docs/8.2/static/indexes-opclass.html
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | John D. Burger | 2007-01-30 01:52:21 | Re: counting query |
Previous Message | John D. Burger | 2007-01-30 00:53:12 | Re: Limit on number of users in postgresql? |