Le due cose che hai affermato non sono affatto equivalenti.
SQL_NO_CACHE di MySQL NON impedisce al motore di utilizzare i dati memorizzati nella cache. Significa che la query non è memorizzata nella cache della cache delle query di MySQL .
La cache delle query non è la stessa di qualsiasi cache del disco che il motore potrebbe avere perché memorizza nella cache i risultati delle query, non i blocchi dal disco (o le righe da una tabella, ecc.). Quindi memorizza nella cache i risultati di un'istruzione di testo.
Il motivo per l'utilizzo di SQL_NO_CACHE è che sai che eseguirai una query utilizzata di rado che restituisce molti dati (quindi occuperebbe molto spazio nella cache).
Ma alla maggior parte delle installazioni MySQL ora si consiglia di disattivare la cache delle query per creare più memoria per le cache delle pagine, ecc. (vedi http://dom.as/tech/query-cache-tuner/ )