I'll prod Khan or Sel this way to take a look. It requires DB access..but there might be a way to do it assuming that table actually uses proper indexes.
If we turned the game off while doing it and had someone on hand to restart mySQL if it chokes it may just be possible. I'd be more inclined to solve the archive issue by splitting the tables up or whatever we choose so people can go back and view events on their own rather than continuing to do manual grabs like this.
I'd prefer tables that have and use proper indexes. Then it wouldn't be soo bad at the least.
We could start splitting up starting now...but the past stuff might be lost in a mess or we schedule it during a monthly maintance with people on hand to restart mysql.