List:Internals« Previous MessageNext Message »
From:Michael Widenius Date:November 5 2001 12:04am
Subject:Re: Indexing support
View as plain text  
Hi!

>>>>> "Sasha" == Sasha Pachev <sasha@stripped> writes:

Sasha> On Friday 02 November 2001 12:48 pm, Deepanshu Shukla wrote:
>> hi Sasha,
>> 
>> 
>> I have to use BitMap indexing support in mysql-3.23.
>> its a part of assignment so i have to analize the
>> existing code for indexing and see if i can integrate
>> the technique of BitMap indexing in the Database
>> 
>> I tried but could not analyze the indexing module of
>> MySQl. I am sure you will be able to guide me as to
>> how to start it. I haev the server up and running (at
>> last ;-) )... and i looked into the ISAM module..but
>> ur guidance would efinitely be of immense help..

Sasha> Deepanushu:

Sasha> I must say that you have quite a bit of an assignment. There are a lot of 
Sasha> things you will need to do to add bitmap index support to MySQL. While 
Sasha> definitely a doable project, it is rather big for a school assignment, in my 
Sasha> opinion. But we are definitely interested in getting it done.

Sasha> Monty is the person who can help you best since he wrote the majority of 
Sasha> MyISAM code. Monty do you have any suggestions for Deepanushu?


To implement bitmap indexes, you have to decide on the following
questions:

On the storage level:

  - Which table handler to implement these in (suggestion: MyISAM)
  - How to store and update the bitmap index
  - How to store pointers to the rows.
  - How to do searches no the index.

  It's trivial to add a bit index on fixed length rows, but it's tricky
  to do this for dynamic size rows.

On the handler level  (Files sql/handler.h and sql/ha_myisam.cc)
  - Define an interface for the bitmap index the optimizer can use.

On the MySQL level:
  - How to use the index in the optimizer.
    One suggestion is to extend the range optimizer (sql/opt_range.cc)
    to retrieve all rows that matches a bitmap index.
    Another option is to add a totally new optimizer stage similar
    to sql/opt_range.cc to handle bitmap_index.


If you want to know more, please send a more detailed explaination of
what you want to do and how you want to do it.  When we know this, we
can more easily answer any specific questions you have.

Regards,
Monty
CTO of MySQL AB
Thread
Re: Indexing supportSasha Pachev4 Nov
  • Re: Indexing supportMichael Widenius4 Nov