<pre>

If you dont mind about dirty read then you might either use NOLOCK hint or READUNCOMMITTED TRANSACTION ISOLATION. This could improve your query's performance in case this query is continuously blocked by other session.

Otherwise your could look for what is the Max Degree of Parallelism is set for your server. If it is set to 1 then you could increase it.

Look for the Wait Types, if you know about wait types.

Check the Number of Data and Log file assigned for Temp DB.

Check the free Memory available.

Look for if anyone is blocking or your session

If all of the above is right, then look for values of the Performance Counters.

</pre>