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:https://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.