Двете неща, които казахте, изобщо не са еквивалентни.
SQL_NO_CACHE на MySQL НЕ спира машината да използва кеширани данни. Това означава, че заявката не е кеширана в кеша на заявките на MySQL .
Кешът на заявките не е същият като всеки дисков кеш, който може да има, защото кешира резултатите от заявки, а не блокове от диска (или редове от таблица и т.н.). Така той кешира резултатите от текстови оператори.
Причината да използвате SQL_NO_CACHE е, че знаете, че ще изпълнявате рядко използвана заявка, която връща много данни (следователно ще заема много място в кеша).
Но повечето инсталации на MySQL вече се съветват да изключат кеша на заявките, за да направят повече памет за кешове на страници и т.н. (вижте http://dom.as/tech/query-cache-tuner/ )