Why indexes are not used when scanning from functions?

Поиск
Список
Период
Сортировка
От Ловпаче Айдамир
Тема Why indexes are not used when scanning from functions?
Дата
Msg-id 3B05B07C.000001.06516@camay.yandex.ru
обсуждение исходный текст
Ответы Re: Why indexes are not used when scanning from functions?
Список pgsql-sql
The table (script followed) contains more than 200000 records. 
When I directly selecting records by the single select statement    select fio from patient_temp where fio like
'something%';
 

Postgres uses the index i have created and quickly returns the results. But if that query included into the function,
slowestsequent scan starts. Is it a normal postgres behavior - not using indexes in functions? Or how to make indexes
usablein functions? 
 
I have tried PL/pgSQL, and have got the same result.

create table patient_temp(code serial primary key,    fio varchar(80)
);

create index fio_patient_temp_ind on patient_temp(fio);

create function get_fio1(text) returns varchar
as 'select fio from patient_temp where fio like $1::text || \'%\';'  
language 'sql';
            Aidamir Lovpache <aidanet@yandex.ru>




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

Предыдущее
От: Hans-Jürgen Schönig
Дата:
Сообщение: Re: Transposing data
Следующее
От: Alexander Dederer
Дата:
Сообщение: Re: Transposing data