Lo que probablemente sucede es que el tiempo extra la primera vez que se ejecuta la consulta se dedica a compilar la consulta y desarrollar el plan de ejecución. Esto permanece en caché por un tiempo y luego vuelve a suceder.
La solución es poner su consulta en un procedimiento almacenado.