Re: Function to either return one or all records

Поиск
Список
Период
Сортировка
От Tambet Matiisen
Тема Re: Function to either return one or all records
Дата
Msg-id A66A11DBF5525341AEF6B8DE39CDE7700729EC@black.aprote.com
обсуждение исходный текст
Ответ на Function to either return one or all records  (KÖPFERL Robert <robert.koepferl@sonorys.at>)
Список pgsql-sql

> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> Sent: Thursday, April 21, 2005 12:06 AM
> To: Tambet Matiisen
> Cc: KÖPFERL Robert; pgsql-sql@postgresql.org
> Subject: Re: [SQL] Function to either return one or all records
>
>
> "Tambet Matiisen" <t.matiisen@aprote.ee> writes:
> > Standard technique is to rewrite OR queries to UNION queries. I
> > believe PostgreSQL optimizer does not do that automatically. So you
> > could try instead:
>
> > select * from id_bal_tbl where $1 is null
> > union all
> > select * from id_bal_tbl where id = $1;
>
> ... but that won't do anything to solve the performance
> problem. Doesn't help for the second select to use an index,
> if the first one grovels over the whole table anyway ...
>

Hmm, I tought about that before sending mail to list and did a little test. My test indicated, that the seq scan was
discarded,it was definitely faster than OR query. I couldn't verify plan, as EXPLAIN shows only function scan. 
 Tambet


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

Предыдущее
От: KÖPFERL Robert
Дата:
Сообщение: Re: Function to either return one or all records
Следующее
От: Stéphane RIFF
Дата:
Сообщение: Re: Query question