Försök att ersätta underfrågan med en join:
SELECT *
FROM files f
LEFT OUTER JOIN reades r on r.file_id = f.file_id
WHERE r.file_id IS NULL
Här är en länk till en artikel om det här problemet . Författaren till den artikeln skrev en lagrad procedur för att tvinga MySQL att utvärdera delfrågor som oberoende. Jag tvivlar dock på att det är nödvändigt i det här fallet.