I've just had a little cry in the corner, rocking back and forth
a few years ago I walked into a new job and was told that a certain system had real performance issues.. what they had found was that if the report timed out then run it again and it's fine.... my head is immediately screaming "buffer cache" (this is sql 2000/2005)
I found a sql agent job that was pre-running the reports at 8am to get them in cache and give the illusion of performance... oh yeah, you don't care about the stuff you pushed out of the cache to get a single report out.. 🙁
thankfully , because the proc calls were in the sql agent job, I didn't have to trace them - just get query plans and find all the bad stuff.
now i'm going to go back to my little dark corner and cry about linked servers 🙂