Votre code fait des hypothèses invalides. Dans un langage déclaratif orienté ensemble comme SQL, l'exécution est libre de choisir le plan d'exécution qui lui convient. Ce que vous considérez comme inefficace est très probablement une optimisation valide où le titre est projeté en premier à partir d'un index qui satisfait les prédicats sur lastmodified
ou quelque chose de similaire. Vous ne pouvez faire aucune hypothèse sur l'ordre d'exécution, et vous n'êtes donc pas autorisé à avoir dans la liste de projection des expressions comme SUBSTRING (..,9,..) qui bombarderont certaines lignes.
Court-circuit de l'opérateur booléen SQL Server bogues d'évaluation.