"impossible où remarqué après avoir lu les tables const" est un message un peu déroutant. Cela signifie essentiellement que l'un de vos critères where ne correspondait à aucun enregistrement, par conséquent l'optimiseur MySQL n'a pas pu (ne voulait pas...) procéder à une analyse plus approfondie de la requête. Il renvoie simplement un jeu de résultats vide.
Le correctif est très simple :assurez-vous de tester l'explication avec des clauses where qui renvoient un jeu de résultats.
MySQL a une demande de fonctionnalité ouverte demander de changer le message en un message plus significatif, mais je ne pense pas qu'ils se soient jamais donné la peine.