For the most part, MySQL will already cache tables for you. That's what the innodb buffer pool and key buffer caches are for. However, these caches are shared across all operations, which means that over time, infrequently used tables can be pushed out. If these areas aren't big enough, even data that is accessed frequently can still be pushed out rapidly as new data comes in.
So depending on if the tables are myisam or innodb, you could try increasing these buffer areas to see if it helps. innodb buffer pool is obviously for innodb, while key buffer cache is for myisam.
You COULD enable the query cache, which stores the queries and their results for reuse, but that could get tricky, and may sometimes cause more harm than good. I would increase the normal buffers first, before messing with the query cache.
Andrew Simkovsky
More mysql forums (and other databases):
http://www.dbtekpro.com/forums
Brand new! Just post!