Can I tell MySQL what to cache?
MySQL Documentation has SQL_NO_CACHE option:


  Two query cache-related options may be specified in SELECT statements:
  
  SQL_CACHE
  
  The query result is cached if it is cacheable and the value of the
  query_cache_type system variable is ON or DEMAND.
  
  SQL_NO_CACHE
  
  The server does not use the query cache. It neither checks the query
  cache to see whether the result is already cached, nor does it cache
  the query result. (Due to a limitation in the parser, a space
  character must precede and follow the SQL_NO_CACHE keyword; a nonspace
  such as a newline causes the server to check the query cache to see
  whether the result is already cached.)
  
  Examples:

SELECT SQL_CACHE id, name FROM customer;
SELECT SQL_NO_CACHE id, name FROM customer;



You can set SQL_NO_CACHE as the default for your session by setting query_cache_type

SET query_cache_type = 'DEMAND';


or

SET query_cache_type = 2;


Afterwards, you must say SELECT SQL_CACHE to make it cache the SELECT