From: | brad-pgperf(at)duttonbros(dot)com |
---|---|
To: | Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>, pgsql-performance(at)postgresql(dot)org |
Subject: | Re: index usage |
Date: | 2004-04-26 19:16:28 |
Message-ID: | 20040426191628.47296.qmail@uno.mnl.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
When checking an index in postgres the original table has to be checked for
each result to find if the index entry is still valid? In which case you
can't blindly scan the whole index and assume the data is good. I was used
to Oracle behavior where the index is up to date so it can do the scan
without hitting the original table.
Does this sound correct to anyone?
Thanks,
Brad
Stephan Szabo writes:
> On Fri, 23 Apr 2004 brad-pgperf(at)duttonbros(dot)com wrote:
>
>> I have a query which I think should be using an index all of the time but
>> postgres only uses the index part of the time. The index
>> (ticket_crm_map_crm_id_suppid) has the where clause column (crm_id) listed
>> first followed by the selected column (support_person_id). Wouldn't the
>> most efficient plan be to scan the index each time because the only columns
>> needed are in the index? Below is the table, 2 queries showing the
>
> Not necessarily. The rows in the actual file still need to be checked to
> see if they're visible to the select and if it's expected that the entire
> file (or a reasonable % of the pages anyway) will need to be loaded using
> the index isn't necessarily a win.
>
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2004-04-26 19:20:58 | Re: Wierd context-switching issue on Xeon |
Previous Message | Stephan Szabo | 2004-04-26 18:58:09 | Re: index usage |