MyISAM tables use B-tree indexes. You can
      roughly calculate the size for the index file as
      (key_length+4)/0.67, summed over all keys. This
      is for the worst case when all keys are inserted in sorted order
      and the table doesn't have any compressed keys.
    
      String indexes are space compressed. If the first index part is a
      string, it is also prefix compressed. Space compression makes the
      index file smaller than the worst-case figure if a string column
      has a lot of trailing space or is a
      VARCHAR column that is not always
      used to the full length. Prefix compression is used on keys that
      start with a string. Prefix compression helps if there are many
      strings with an identical prefix.
    
      In MyISAM tables, you can also prefix compress
      numbers by specifying the PACK_KEYS=1 table
      option when you create the table. Numbers are stored with the high
      byte first, so this helps when you have many integer keys that
      have an identical prefix.