I read a bit about the query cache in mysql, but these tables are constantly updated. Anywhere from 10-16 million records a day, so if someone issued the same query again, it may pull up older data instead of the most current.
I will check out DBM::Deep. I suppose it could go either way. Send more parameters to the database so it sends the same query everytime, or use a perl mod.