Puoi spiegare un po' di più sulla tabella e sul motore di archiviazione? HASH
esplicito gli indici possono essere creati solo per le tabelle basate su MEMORY
e NDB
motori (NDB =MySQL Cluster). Supponendo che tu non stia usando MySQL Cluster, sembra strano che tu stia usando MEMORY
motore di archiviazione per archiviare milioni di righe.
Detto questo, puoi aggiungere il KEY_BLOCK_SIZE
suggerimento durante la creazione di indici, che sembra influenzare la quantità di spazio utilizzato per le chiavi:http://dev.mysql.com/doc/refman/5.1/en/create-index.html
Tuttavia, questo non ha nulla a che fare in particolare con gli indici HASH.