Hmm - queries that take 20 seconds?!
That already sounds like an eternity. At least it IS a virtual eternity on any MySQL setup that does NOT have tens of thousands of concurrent users, or an extremely old or slow system it running on.
What kind of loads are you running under? What are your system specs? Memory? Disk space? CPU count?
We once had a site
http://poweralert.co.za that had these kinds of response times, but that was when thousands of people where hitting it at once. If you have an unloaded system that is having these kinds of response times to queries (never even mind 5 MINUTES - that is EONS long!) there is some very basic and extremely severe error in your MySQL installation or some configuration option. Or you have some kind of system error or problem (however, to have this kind of pathetic MySQL performance, your system would have to be so broken it probably wouldn't even boot...)
What distro are you running?
What kernel version?
What precise MySQL version?
How large is your database? What does the query that takes this long DO? What does it look like?
How many concurrent users are you trying to serve?