Ce qui se passe probablement, c'est que le temps supplémentaire lors de la première exécution de la requête est consacré à la compilation de la requête et au développement du plan d'exécution. Cela reste en cache pendant un certain temps, puis cela se reproduit.
La solution consiste à placer votre requête dans une procédure stockée.