Queries or updates that take longer than expected to execute can be caused by a variety of reasons. Slow-running queries can be caused by performance problems related to your network or the computer where SQL Server is running. Slow-running queries can also be caused by problems with your physical database design.

There are a number of common reasons for slow-running queries and updates:

  • Slow network communication.
  • Inadequate memory in the server computer, or not enough memory available for SQL Server.
  • Lack of useful statistics 
  • Lack of useful indexes.
  • Lack of useful indexed views.
  • Lack of useful data striping.
  • Lack of useful partitioning.

Checklist for Analyzing Slow-Running Queries

http://msdn.microsoft.com/en-us/library/ms177500.aspx