Desempenho Mysql na tabela de 6 milhões de linhas

Um dia, suspeito que terei que aprender hadoop e transferir todos esses dados para um banco de dados não estruturado, mas fico surpreso ao descobrir que o desempenho se degrada tão significativamente em um período de tempo tão curto.

Eu tenho uma tabela mysql com pouco menos de 6 milhões de linhas. Eu estou fazendo uma consulta muito simples nesta tabela e acredito que tenho todos os índices corretos no lugar.

a consulta é

SELECT date, time FROM events WHERE venid='47975' AND date>='2009-07-11' ORDER BY date

a explicação retorna

id  select_type     table   type    possible_keys   key     key_len     ref     rows    Extra
1   SIMPLE  updateshows     range   date_idx    date_idx    7   NULL    648997  Using where

Então, estou usando o índice correto, até onde eu sei, mas essa consulta leva 11 segundos para ser executada.

O banco de dados é MyISAM, e o phpMyAdmin diz que a tabela é 1.0GiB.

Alguma idéia aqui?

Editado: O date_idx é indexa as colunas date e venid. Esses devem ser dois índices separados?

questionAnswers(4)

yourAnswerToTheQuestion