Re: [SQL] Yet Another (Simple) Case of Index not used - Mailing list pgsql-performance

From Tom Lane
Subject Re: [SQL] Yet Another (Simple) Case of Index not used
Date
Msg-id 21955.1050767928@sss.pgh.pa.us
Whole thread Raw
In response to Re: [SQL] Yet Another (Simple) Case of Index not used  (Kevin Brown <kevin@sysexperts.com>)
Responses Re: [SQL] Yet Another (Simple) Case of Index not used  (Josh Berkus <josh@agliodbs.com>)
Re: [SQL] Yet Another (Simple) Case of Index not used  (Kevin Brown <kevin@sysexperts.com>)
List pgsql-performance
Kevin Brown <kevin@sysexperts.com> writes:
> Josh Berkus wrote:
>> They did incorporate a lot of MVCC logic into InnoDB tables, yes.
>> Which means that if SELECT count(*) on an InnoDB table is just as
>> fast as a MyISAM table, then it is not accurate.

> This is not necessarily true.  The trigger-based approach to tracking
> the current number of rows in a table might well be implemented
> internally, and that may actually be much faster than doing it using
> triggers

You missed the point of Josh's comment: in an MVCC system, the correct
COUNT() varies depending on which transaction is asking.  Therefore it
is not possible for a centrally maintained row counter to give accurate
results to everybody, no matter how cheap it is to maintain.

(The cheapness can be disputed as well, since it creates a single point
of contention for all inserts and deletes on the table.  But that's a
different topic.)

            regards, tom lane


pgsql-performance by date:

Previous
From: Kevin Brown
Date:
Subject: Re: [SQL] Yet Another (Simple) Case of Index not used
Next
From: Josh Berkus
Date:
Subject: Re: [SQL] Yet Another (Simple) Case of Index not used