Re: [GENERAL] Union Query Improvement

2007-02-15 Thread Ray Bannon
There is only one table/view, it's getting one record for each of the
hundred or so plan ID's that I'm looking for.


On 2/13/07 11:29 PM, in article [EMAIL PROTECTED], "Ron Johnson"
<[EMAIL PROTECTED]> wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> On 02/13/07 07:46, Ray Bannon wrote:
>> I have a query which is running a bit slowly, and I'm wondering if anyone
>> has a design improvement. Basically it's a series of unions as follows:
>> 
>> Select ID, plan_name from table/view
>> Where plan_name = 'A'
>> And rownum = 1
>> UNION
>> Select ID, plan_name from table/view
>> Where plan_name = 'B'
>> And rownum = 1
>> UNION
>> Select ID, plan_name from table/view
>> Where plan_name = 'C'
>> And rownum = 1
>> UNION
>> 
>> Ad infinitum for about 100 iterations.
>> 
>> Any way to write this more efficiently?
> 
> Just out of curiosity: why does your(?) design have 100 tables/views
> with the same (or almost identical) structure?
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.6 (GNU/Linux)
> 
> iD8DBQFF0rpTS9HxQb37XmcRAtH5AJ4zz5NPM5rBsNWLrKC+/Md6GhxCNgCfZBHf
> AeMbTRNKp4guK81pGwfU5wc=
> =t9y+
> -END PGP SIGNATURE-
> 
> ---(end of broadcast)---
> TIP 3: Have you checked our extensive FAQ?
> 
>http://www.postgresql.org/docs/faq
> 


---(end of broadcast)---
TIP 6: explain analyze is your friend


[GENERAL] Union Query Improvement

2007-02-13 Thread Ray Bannon
I have a query which is running a bit slowly, and I'm wondering if anyone
has a design improvement. Basically it's a series of unions as follows:

Select ID, plan_name from table/view
Where plan_name = 'A'
And rownum = 1
UNION
Select ID, plan_name from table/view
Where plan_name = 'B'
And rownum = 1
UNION
Select ID, plan_name from table/view
Where plan_name = 'C'
And rownum = 1
UNION

Ad infinitum for about 100 iterations.

Any way to write this more efficiently?

Thanks!


---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match