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?