List:General Discussion« Previous MessageNext Message »
From:Michael Widenius Date:July 30 1999 8:57pm
Subject:Re: Maximum of 16 indexes per table
View as plain text  
>>>>> "Troy" == Troy Grady <troy@stripped> writes:

>> (The maximum number of keys are 32 because MyISAM uses a bitmap in a
>> 'long' to check which keys are in use)
>> 
>> Regards,
>> Monty


Troy> Section 10.17 of the manual, "Table Types", states the following about
Troy> MYISAM:

Troy> "Maximum number of keys/table enlarged to 32 as default. This can be
Troy> enlarged to 64 without having to recompile myisamchk."

Troy> Are 64 indexes per table possible?  If so, how?

Troy> Regards,

Troy> Troy

Hi!

To do this you have to change some constants in myisam.h and unireg.h
and also change the key_map typedef from long to longlong.

The main problem is that we haven't tested the code with more than 32
keys.  The main problem is that I may have have missed some
key_map variable and this is still declared as 'ulong' instead of type
'key_map'.  In theory it wouldn't be that hard to change 3.23.2 to use 
64 keys...

Regards,
Monty
Thread
Maximum of 16 indexes per tableRalph Graulich12 Jul
  • Re: Maximum of 16 indexes per tableChristian Mack17 Jul
  • Maximum of 16 indexes per tableMichael Widenius30 Jul
Re: Maximum of 16 indexes per tableTroy Grady30 Jul
  • Re: Maximum of 16 indexes per tableMichael Widenius31 Jul