Bill Talada (11/28/2016)
You seem to have missed the poster's single problem he mentioned which is query timeout. All my suggestions answer that one problem. If a pre-select is done in a separate query, then the actual query likely won't timeout.
I do create indexes to use just before monthly reports. Afterwards the monthly indexes may be dropped.
It all depends on which resources are stressed as to what he should do. I'm just giving him some options.
Suggest some new things instead of criticizing others without knowing what you're talking about.
Since we have little in the way of detail on the environment the poster is in, it's always best to be on the cautious side where performance is concerned, and claiming the Kevin doesn't know what he's talking about is just not accurate. Many of us have seen this kind of thing before and know just the kind of "bad karma" that doing the things suggested can result in. I might be willing to conclude that you are the one that "doesn't know what he's talking about". If you don't know the specifics of an environment, just suggesting performance hogging techniques is 1) inadvisable, 2) dangerous, 3) sloppy, and 4) lazy because you weren't willing to ask more questions first.