We have a stored proc that will sometimes run very slowly (1 - 2 minutes). If I run the proc in QA and catch one of the slow runs with Execution plan turned on and then catch a fast (2 seconds or less) one I do not see any difference. I even looked at the indexes chosen for each piece of the query. I am not sure where to go with this one, I have exhausted my knowledge on how to analyze the situation. Other pieces of info: After it runs slowly once it often will run fast for the same and similar data for 15 or 20 minutes or more. If I catch a slow running one in QA then open a second instance of QA and run the same query, they will invariably finish at the same time. If I start the second after the first has run for 1 minute and the first finishes at 1 minute 37 seconds the second will finish at 37 seconds, within milliseconds of each other. I see no blocked spids on my server at this time. I made a backup of the DB and moved it into a staging server. It ran slowly the first few times I ran it, as I tried to get execution plans and data it ran fast and never repeated the slow run. I then reloaded the DB to see if it would start running slowly on the same DB reloaded from the same file. It did not fail, it always ran fast from that point on. I was not able to get the slow running query to repeat anymore on that server.