Hmmm ... tree is rattled sooooo ... my 2 cents ...
Rather than debate about size of database and guess as to why things are slow (thought to be database related - which is a good guess), how about installing MySQLTuner?
Run it from the web service server.
As far as keeping all of that always largest table, consider what has been mentioned already ... is all that data really being used for analysis?
Personally, could understand keeping for one academic year for analysis, but if not used, why keep the setting of never deleting? Could set that for 365 days or for however many days of data would be useful to analyze.
If one wants years and years worth, Rick's suggestion is a good one ... at close of academic year (or determined cutoff), export the table and import it into your analysis DB.
LIke I started ... 'my 2 cents' ...