Czy możesz wyjaśnić nieco więcej o swoim silniku tabel i pamięci masowej? Jawny HASH indeksy można tworzyć tylko dla tabel opartych na MEMORY i NDB silniki (NDB =klaster MySQL). Zakładając, że nie używasz klastra MySQL, wydaje się dziwne, że używasz MEMORY silnik pamięci masowej do przechowywania milionów wierszy.
To powiedziawszy, możesz dodać KEY_BLOCK_SIZE wskazówka podczas tworzenia indeksów, która wydaje się wpływać na ilość miejsca używanego na klucze:https://dev.mysql.com/doc/refman/5.1/en/create-index.html
Jednak nie ma to nic wspólnego w szczególności z indeksami HASH.