Если mysql не самый свежий, то там query cache не отлично работает (до версии, кажется, 5.6 - тут могу ошибаться - был глобальный лок на query cache, так что лучше было без него).Спору нет, нужна золотая середина. Все зависит от частного случая, поскольку бывает что база 10 гб помещается (и будет помещаться) вся в ОЗУ, да и SQL отлично работает с cache, нужен ли memcached ?
Memcached бывает нужен, но не суть, query cache он все равно per-query, так что same logic applies.