If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Got to say, I think the question is dumb. Surely it should be more like "What are the steps to identify the problem, and what possible resolutions are there?" There could be loads of reasons the query got stucks, many nothing to do with the information provided.

Check that the expressions are sargable.
Use OPTION(FAST n) or WITH (FASTFIRSTROW).
Account for parameter sniffing, especially with regard to inappropriate lookups.
Check for a where predicate.
Run perfmon on the server, accounting for network, io, memory, cpu.
Run profiler; ensure SET OPTIONS are as expected.
Check DMVs and account deadlocks & exclusive table & range locks

Partitioning helps by reducing the number of layers in the index B-Tree(s). Partitions can also be distributed across drives, increasing the number of spindles in the event of a scan.

The only benefit I ever got out of partitioning was related to ETL procedures and switching out and in partitions and rebuilding indexes at the partition level, with the correct indexing schemes I have not noticed a difference in performance.