Wydajność MySQL na 6 milionowej tabeli wierszy

Pewnego dnia podejrzewam, że będę musiał nauczyć się hadoop i przenieść wszystkie te dane do niestrukturalnej bazy danych, ale jestem zaskoczony, że wydajność tak bardzo się obniża w tak krótkim czasie.

Mam tabelę mysql z prawie 6 milionami wierszy. Wykonuję bardzo proste zapytanie w tej tabeli i wierzę, że mam wszystkie prawidłowe indeksy na miejscu.

zapytanie jest

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

powraca wyjaśnienie

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

więc używam prawidłowego indeksu, o ile wiem, ale to zapytanie trwa 11 sekund.

Baza danych to MyISAM, a phpMyAdmin mówi, że tabela to 1.0GiB.

Masz jakieś pomysły?

Edytowane: Date_idx jest indeksowane zarówno kolumny daty, jak i kolumny venid. Czy powinny to być dwa oddzielne indeksy?

questionAnswers(4)

yourAnswerToTheQuestion