Seu código está fazendo suposições inválidas. Em uma linguagem orientada a conjuntos declarativos como SQL, a execução é livre para escolher qualquer plano de execução que achar adequado. O que você vê como ineficiente é provavelmente uma otimização válida onde o título é projetado primeiro a partir de um índice que satisfaça os predicados em
lastmodified
ou algo semelhante. Você não pode fazer nenhuma suposição sobre a ordem de execução e, portanto, não tem permissão para ter na lista de projeção expressões como SUBSTRING (..,9,..) que serão bombardeadas em determinadas linhas. Outro exemplo de problemas que surgem de uma suposição inválida semelhante são Curto-circuito do operador booleano do SQL Server erros de avaliação.