Você pode explicar um pouco mais sobre sua mesa e mecanismo de armazenamento?
HASH
explícito índices só podem ser criados para tabelas baseadas em MEMORY
e NDB
motores (NDB =MySQL Cluster). Supondo que você não esteja usando o MySQL Cluster, parece estranho que você esteja usando o MEMORY
mecanismo de armazenamento para armazenar milhões de linhas. Dito isso, você pode adicionar o
KEY_BLOCK_SIZE
dica ao criar índices, o que parece influenciar a quantidade de espaço usado para chaves:http://dev.mysql.com/doc/refman/5.1/en/create-index.html
No entanto, isso não tem nada a ver em particular com índices HASH.