From: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
---|---|
To: | Vincenzo Romano <vincenzo(dot)romano(at)notorand(dot)it> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Composite types questions |
Date: | 2010-01-11 18:19:10 |
Message-ID: | b42b73151001111019k662cfbc1o66736f8d6877d26f@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, Jan 11, 2010 at 11:08 AM, Vincenzo Romano > SELECT * FROM master_tab
> WHERE col1>='a date':timestamp AND col1<'another date'::timestamp
> AND col2=42 AND col3='the answer';
queries of this sort are optimally handled via row constructor for 8.2 onwards:
create index col231_idx on master_tab(col2, col3, col1);
select * from master_tab where (col2,col3,co1) >= (42, 'the answer',
a_date) and (col2,col3,co1) < (42, 'the answer', b_date);
one caveat: the planner is lousy in regards to estimating index
selectivity in these cases which can cause strange behaviors.
regarding constraint_exclusion, I don't think there are any
issues...you should test it to be sure.
merlin
From | Date | Subject | |
---|---|---|---|
Next Message | Vincenzo Romano | 2010-01-11 18:21:07 | Re: Composite types questions |
Previous Message | Francisco Reyes | 2010-01-11 18:04:03 | Using a lock to avoid: could not open relation with OID |