Re: SQL optimization - WHERE SomeField STARTING WITH ...

From: Tino Wildenhain <tino(at)wildenhain(dot)de>
To: Bill <pg(at)dbginc(dot)com>
Cc: PgSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: SQL optimization - WHERE SomeField STARTING WITH ...
Date: 2008-08-29 04:20:49
Message-ID: 48B77921.8070803@wildenhain.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Bill wrote:
> Tino Wildenhain wrote:
>> Hi Bill,
>>
>> Bill wrote:
>>> The SQL database servers I have worked with cannot use and index for
>>> a SELECT of the form
>>>
>>> SELECT * FROM ATABLE
>>> WHERE AFIELD LIKE ?
>>>
>>> because there is no way to know the location of the wild card until
>>> the parameter value is known. InterBase and Firebird allow
>>>
>>> SELECT * FROM ATABLE
>>> WHERE AFIELD STARTING WITH ?
>>>
>>> which is equivalent to LIKE 'ABC%' and will use an index on AFIELD.
>>> Is there a similar syntax in PostgreSQL?
>>
>> Yes, its actually: LIKE 'ABC%' and it will use an index.
>>
>> Regards
>> Tino
> Are you saying that a parameterized query whose WHERE clause is AFIELD
> LIKE ? will use an index on AFIELD if the parameter value is 'ABC%'. I
...
no, I'm not saying that anymore (nor did I intend to do :-) I was just
misreading your question. Sorry.

Regards
Tino

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-08-29 04:45:20 Re: MySQL LAST_INSERT_ID() to Postgres
Previous Message Greg Smith 2008-08-29 04:16:20 Re: WAL archiving to network drive