As duas coisas que você disse não são nada equivalentes.
O SQL_NO_CACHE do MySQL NÃO impede o mecanismo de usar dados em cache. Isso significa que a consulta não está armazenada em cache no cache de consulta do MySQL .
O cache de consulta não é o mesmo que qualquer cache de disco que o mecanismo possa ter porque armazena em cache os resultados das consultas, não os blocos do disco (ou linhas de uma tabela, etc.). Portanto, ele armazena em cache os resultados de uma instrução de texto.
A razão para usar SQL_NO_CACHE é que você sabe que fará uma consulta usada com pouca frequência que retorna muitos dados (portanto, ocuparia muito espaço no cache).
Mas a maioria das instalações do MySQL agora são aconselhadas a desligar o cache de consulta para criar mais memória para caches de página etc (veja http://dom.as/tech/query-cache-tuner/ )