«Прозрачное кеширование» есть в самом mysql.
Оно настолько хорошо и прозрачно работает, что ты про него даже не знаешь.
Проблема возникает тогда, когда нужно кеш инвалидировать. Например, обновление некоторых записей. Поэтому выдуманное тобой прозрачное кеширование вынуждено будет повторить поведение кеша mysql — удалить все запросы содержащие обновляемую таблицу. Ну и зачем писать то, что уже написано?
Отсюда вывод: если хочется что-то ускорить еще быстрее кеша mysql — кеширование не должно быть прозрачным. Для каждого оператора должно хотя бы указываться предположительное время жизни результата в кеше.