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 по дате отправления: