Hai điều bạn đã nêu hoàn toàn không tương đương.
SQL_NO_CACHE của MySQL KHÔNG ngăn công cụ sử dụng dữ liệu được lưu trong bộ nhớ cache. Điều đó có nghĩa là truy vấn không được lưu trong bộ đệm ẩn truy vấn MySQL .
Bộ đệm truy vấn không giống với bất kỳ bộ đệm đĩa nào mà engine có thể có vì nó lưu vào bộ đệm kết quả của các truy vấn, không phải các khối từ đĩa (hoặc các hàng từ bảng, v.v.). Vì vậy, nó lưu trữ các kết quả của một câu lệnh văn bản.
Lý do sử dụng SQL_NO_CACHE là bạn biết rằng bạn sẽ thực hiện một truy vấn không được sử dụng thường xuyên, truy vấn này trả về rất nhiều dữ liệu (do đó sẽ chiếm nhiều dung lượng trong bộ nhớ cache).
Nhưng hầu hết các cài đặt MySQL hiện được khuyên nên tắt bộ đệm truy vấn để tạo thêm bộ nhớ cho bộ đệm trang, v.v. (xem http://dom.as/tech/query-cache-tuner/ )