Je zou kunnen proberen gebruik te maken van een op kolommen gebaseerde database. Dit soort databases zijn veel beter in analytische vragen van het soort dat u beschrijft. Er zijn verschillende opties:
http://en.wikipedia.org/wiki/Column-oriented_DBMS
We hebben goede ervaringen met InfiniDB:
en Infobright ziet er ook goed uit:
Zowel InfiniDB als Infobright hebben gratis open source community-edities, dus ik zou aanraden deze te gebruiken om wat benchmarks te krijgen voor het soort prestatievoordeel dat je zou kunnen krijgen.
U kunt ook kijken naar het partitioneren van uw gegevens om de prestaties te verbeteren.