Re: 8.2 planner and "like"

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

In response to

Responses

Browse pgsql-general by date

  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?