Re: Worthwhile optimisation of position()?

Поиск
Список
Период
Сортировка
От Tim Allen
Тема Re: Worthwhile optimisation of position()?
Дата
Msg-id 442393D5.1020505@proximity.com.au
обсуждение исходный текст
Ответ на Re: Worthwhile optimisation of position()?  (Thomas Hallgren <thomas@tada.se>)
Ответы Re: Worthwhile optimisation of position()?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Thomas Hallgren wrote:
> Christopher Kings-Lynne wrote:
> 
>> Is it worth allowing this:
>>
>> select count(*) from users_users where position('ch' in username) = 0;
>>
>> To be able to use an index, like:
>>
>> select count(*) from users_users where username like 'ch%';
>>
>> At the moment the position() syntax will do a seqscan, but the like 
>> syntax will use an index.
>>
> You must compare position('ch' in username) to '%ch%' instead of 'ch%' 
> in this respect.
> 
> The position function must look for 'ch' everywhere in the string so 
> there's no way it can use an index.

I think the '= 0' bit is what Chris was suggesting could be the basis 
for an optimisation.

Tim

-- 
-----------------------------------------------
Tim Allen          tim@proximity.com.au
Proximity Pty Ltd  http://www.proximity.com.au/


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Thomas Hallgren
Дата:
Сообщение: Re: Worthwhile optimisation of position()?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Worthwhile optimisation of position()?