• I'd do as Flo has recommended although with the caveat that you may want to look at executions in addition to duration. You may get a bigger boost out of tuning a query that takes 2 seconds but runs 100 times an hour versus one that takes 20 seconds but it only run twice a day.

    You should also look at the sys.dm_exec_query_stats DMV. Something like this (from BOL):

    SELECT TOP 5 total_worker_time/execution_count AS [Avg CPU Time],

    SUBSTRING(st.text, (qs.statement_start_offset/2)+1,

    ((CASE qs.statement_end_offset

    WHEN -1 THEN DATALENGTH(st.text)

    ELSE qs.statement_end_offset

    END - qs.statement_start_offset)/2) + 1) AS statement_text

    FROM sys.dm_exec_query_stats AS qs

    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st

    ORDER BY total_worker_time/execution_count DESC;