Brug af index på Group by
HejJeg skal i min database finde de artikler der er blevet mest læst indenfor et givent tidspunkt.
Jeg har en tabel 'hits', hvor hver række representerer et hit.
Den har følgende kolonner: hit_id, article_id, hit_date
For at finde de mest læste artikler indenfor et givent tidspunkt, har jeg lavet følgende SQL:
SELECT article_id, count( article_id )
FROM hits
WHERE hit_date > 1171793600 GROUP BY article_id
Da hits tabellen indeholder 45 mio. rækker, vil jeg meget gerne bruge et index, men mit problem er, at jeg ikke kan få den til at bruge mit index.
Jeg har lavet et index på (article_id, hit_date), men det kan den af en eller anden grund ikke finde ud af at bruge, hvis jeg bruger GROUP BY.
Hvordan skal jeg, på den mest optimale måde, finde de artikler, der har fået flest hits inden for en periode?
Mvh
Effer