do many of the statistical queries use the whole month's data? have you considered partitioning the log table by day? if you can reduce the number of rows involved in the table-scans by partitioning it'll be help performance.
I am summarising by hour, day, week and month. So I guess partitioning by day would help for the daily and hourly summaries.
Thanks for the suggestions everyone, I'll look into all these ideas.