reduce network traffic for MySQL queries
A few considerations:

Ensure your tables have indexes which serve the queries well. The best designs have an index on any column which appears in a where clause. 

You can also have multiple columns in an index. See composite indexes.

If your accessing the same data multiple times you can look into caching, with something like memcached. 

If you regularly summarise the data and access that same summarised data regularly you could put stored procedures in your database to update a summary table every time you enter new data into your fact table. 

By no means the best possible answer but definitely the first things you should consider on a growing dataset. 

I'll add some referencing links later but I'm on mobile right now.