Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread Use of compound indexes
Mon, May 22 2006 10:15 AMPermanent Link

"Jose Eduardo Helminsky"
Tim

I've asked this before but...

Since DBISAM use only the first field of any index for SQL processing, I
want to make a suggestion:

1) Follow the standards and change the way DBISAM handle this (a lot of
work)
2) Create a DBISAM proprietary function to "help" DBISAM to read more than
one field. IOW, developers know when there are indexes available to filter
data. My suggestion is something like:

select * from table where joinfields('f1','f2') = (123,'2006-05-22')
The need of just one index with f1 and f2 fields

instead of

select * from table where f1=123 and f2='2006-05-22'
The need of two indexes, one with f1 and another with f2. Sometimes there
are 4 or 5 comparations and if you have more than 1 million records the
first method will be faster.

This is just a suggestion, may be the first option will be better.

Eduardo

Mon, May 22 2006 11:38 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Eduardo,

<< Since DBISAM use only the first field of any index for SQL processing, I
want to make a suggestion: >>

This is on the list.  It had to wait for version 5 due to the way that 4.x
and earlier versions were indexed and the way that data such as
floating-point fields was bit-flipped.  Version 5 doesn't do that anymore,
so it can use indexes just like record data and perform brute-force scans.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image