Du kan prøve at bruge en kolonnebaseret database. Disse typer databaser er meget bedre til analytiske forespørgsler af den slags, du beskriver. Der er flere muligheder:
http://en.wikipedia.org/wiki/Column-oriented_DBMS
Vi har haft god erfaring med InfiniDB:
og Infobright ser også godt ud:
Både InfiniDB og Infobright har gratis open source-fællesskabsudgaver, så jeg vil anbefale at bruge disse for at få nogle benchmarks på den slags ydeevnefordele, du kan få.
Du vil måske også se på partitionering af dine data for at forbedre ydeevnen.