I have a MySQL 4.1 database that has a number of tables. All up the tables and indexes take up 1.3 gig, but I have one table in there “user_events” that takes up 1.1 gig.
This “user_events” table is an InnoDB table that records events that users do, so is mostly used to write new entries into and ocasionally is used to get a list of recent events for a user.
Ideally I’d like to keep most tables in memory so they’re fast to access, but this “user_events” table is a problem as it takes up a lot of space/memory, and if I set my memory limits to (for example) 1 gig, the site slows down considerably.
So I was wondering, is there some way to tell MySQL not to put an individual table like that in memory so it can keep the other things in memory? Or is there some other way I should structure my database?
Any help or suggestions would be much appreciated!