Non è il miglior thread che ho visto sull'argomento, ma ci sono buoni collegamenti all'interno ed è nella cronologia dei miei post:
La query SQL che funziona correttamente in SSMS è molto lenta in ASP.NET
L'Ottimizzatore SQL a volte ama decidere cosa è meglio e dovrai suddividere la tua query attraverso un po' di traccia e registrazione dei piani di esecuzione dei dati. Potrebbe benissimo essere qualcosa di sepolto come un indice errato o il codice della query potrebbe richiedere l'ottimizzazione. Visto che non abbiamo il codice della query e averlo potrebbe essere utile o meno. Ti consiglio di seguire le guide collegate al post sopra e di chiudere la tua domanda.