O que provavelmente está acontecendo é que o tempo extra na primeira execução da consulta é gasto compilando a consulta e desenvolvendo o plano de execução. Isso fica em cache por algum tempo e depois acontece novamente.
A solução é colocar sua consulta em um procedimento armazenado.