Subject Re: Re[2]: [Firebird-Architect] Index structures
Author Arno Brinkman
Hi,

> > > The screen shot is a little hard to read, but it's exactly what I
would
> > > expect. I
> > > don't see BTR compress there at all. Did I miss something?

The problem is Quantify shows only exported functions :-((

> >1) Main idea is: scanning index bucket (BTR_find_leaf) is very long
operation
> >which usually consumes more then half of processor time during query
> >execution. It would be good to change bucket structure a little to enable
> >binary search and get rid of this overhead.
>
> I won't say it can't be done, but prefix compression makes a binary search
> virtually impossible since only the first node on the page contains the
full
> key. But if you have some ideas, let's discuss them.

It is not possible with the current index-structure.
So my idea is for unique-index-key-lengths <= 8 (or user can force to use
them) to store the full key in the index. This way we can do faster
inserts/deletes/searches. I've already implemented in my local tree to see
how much (or not) performance it would bring. The speed-win on queries
(ofcourse where the index is used) is about 30-50% and the index-pages grow
by 50% !

Ideas, comments are welcome!

Regards,
Arno Brinkman