Кэширование в MySQL не является хорошим решением этой проблемы.
MySQL автоматически кэширует запрос до тех пор, пока таблица не будет обновлена.
Для вашей проблемы вам необходимо использовать кеш спередибазы данных.Затем вы можете сначала проверить кеш, и если того, что вы ищете, нет в кеш-памяти, попробуйте в базу данных и добавьте ее в кеш.
Memcached - хорошее решение для этого,особенно если у вас более 1 веб-сервера.
APC - еще одно хорошее решение, которое также может кэшировать ваш байт-код PHP, но это локальный кеш только на одной машине.