Subject | Re: [firebird-support] Re: Performance of Firebird vs. other DBMS |
---|---|
Author | unordained |
Post date | 2005-08-17T18:48:20Z |
Errr, are you sure about this?
From talking to Ann about how indexing is achieved, I got the distinct impression all indexes are
bidirectional ... the choice of asc vs. desc only matters when updating an index, deciding which
pointers in the doubly-linked list will be updated first. During an update, when the index
is 'broken', it guarantees that the doubly-linked list between index pages will be valid in at
least one direction, which is the direction chosen for the index. The engine knows when the index
is being updated, and will avoiding using it in the 'wrong' direction during that time ... that was
my understanding, at least. So asc/desc indexes, most of the time, are pretty much identical
performance-wise?
-Philip
---------- Original Message -----------
From: David Johnson <johnson_d@...>
To: firebird-support@yahoogroups.com
Sent: Wed, 17 Aug 2005 08:17:37 -0500
Subject: Re: [firebird-support] Re: Performance of Firebird vs. other DBMS
M/Y=YAHOO/EXP=1124291867/A=2889191/R=0/SIG=10r90krvo/*http://www.thebeehive.org
From talking to Ann about how indexing is achieved, I got the distinct impression all indexes are
bidirectional ... the choice of asc vs. desc only matters when updating an index, deciding which
pointers in the doubly-linked list will be updated first. During an update, when the index
is 'broken', it guarantees that the doubly-linked list between index pages will be valid in at
least one direction, which is the direction chosen for the index. The engine knows when the index
is being updated, and will avoiding using it in the 'wrong' direction during that time ... that was
my understanding, at least. So asc/desc indexes, most of the time, are pretty much identical
performance-wise?
-Philip
---------- Original Message -----------
From: David Johnson <johnson_d@...>
To: firebird-support@yahoogroups.com
Sent: Wed, 17 Aug 2005 08:17:37 -0500
Subject: Re: [firebird-support] Re: Performance of Firebird vs. other DBMS
> On Wed, 2005-08-17 at 13:09 +0000, laurenz_brein wrote:href="http://us.ard.yahoo.com/SIG=12hdk83ce/M=362131.6882499.7825260.1510227/D=groups/S=1705115386:T
> > The article did not make it clear to me why a SELECT MAX() could
> > not profit from an ascending index.
>
> An ascending index would have to be traversed backwards to get a true
> max. Firebird opted for unidirectional indexes (like DB2, which is a
> locking database).
>
> A descending index finds the most likely candidate first, and then if
> there are issues it can go to the next most likely candidate.
>
> Use ascending indexes for min (), and descending indexes for max() in
> any system with unidirectional indexes.
>
> ------------------------ Yahoo! Groups Sponsor --------------------~-->
> <font face=arial size=-1><a
M/Y=YAHOO/EXP=1124291867/A=2889191/R=0/SIG=10r90krvo/*http://www.thebeehive.org
> ">Get Bzzzy! (real tools to help you find a job) Welcome to the Sweet Life - brought to------- End of Original Message -------
> you by One Economy</a>.</font>
> --------------------------------------------------------------------~->
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Visit http://firebird.sourceforge.net and click the Resources item
> on the main (top) menu. Try Knowledgebase and FAQ links !
>
> Also search the knowledgebases at http://www.ibphoenix.com
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Yahoo! Groups Links
>
>
>