| From: | "V Chitra" <vchitra(at)techbooks(dot)com> | 
|---|---|
| To: | <pgsql-admin(at)postgresql(dot)org> | 
| Subject: | Index called with Union but not with OR clause | 
| Date: | 2004-02-20 06:56:22 | 
| Message-ID: | 008401c3f77e$a78f1d20$18dda8c0@VICHITRA | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-admin pgsql-performance | 
Hi All,
I have a select statement
select * from v_func_actual_costs
where parent_project='10478' or proj_pk = '10478'
both the fields parent_project and proj_pk have indexes based on them, but when I ran explain plan on this statement I found that none of the indexes are being called. But, if I make two separate statement and combine them with Union ALL, the indexes are being called. The select statement in this case is
select * from ct_admin.v_func_actual_costs
where parent_project='10478'
union all
select * from ct_admin.v_func_actual_costs
where proj_pk = '10478' 
Can anybody help me to find a reason for the same. This is just a part of the query so I cannot use the Union ALL clause.
Thanks in advance
Chitra
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Matt Clark | 2004-02-20 10:12:37 | Re: "DELETE FROM" protection | 
| Previous Message | Jeremy Smith | 2004-02-20 06:05:33 | "DELETE FROM" protection | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | vathakar | 2004-02-20 09:16:15 | Slow in morning hours | 
| Previous Message | Josh Berkus | 2004-02-19 21:17:35 | Re: Forcing filter/join order? |