Если эффективность кеша ровно ноль (даже не 1-2%), то я бы предположил, что проблема в настройке query_cache_type
Например, при query_cache_type = 2 (DEMAND) в кеш попадают запросы только в том случае, если в явном виде указан хинт sql_cache (кешировать запрос). А если ни одного такого запроса нет, то будет ровно такая картина.
Или кеш вообще отключен: query_cache_type = 0 (OFF);
Посмотрите, что выдаёт MySQL при запросе:
show global variables;