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?
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.
In response to
pgsql-performance by date
|Next:||From: Josh Berkus||Date: 2004-04-26 19:20:58|
|Subject: Re: Wierd context-switching issue on Xeon|
|Previous:||From: Stephan Szabo||Date: 2004-04-26 18:58:09|
|Subject: Re: index usage|