• The main question would be: Am I nuts for thinking this way? And, since for the time being we are stuck with our design and ORM-approach, has anyone "tweaked" ORM code to add such hints for specific queries.

    We have something in place which "differentiates" between large and small clients, but it's hard-coded, only kicks in for a handful of the largest clients, AND I think all it does is insert a sql comment into specific queries to try and force a new plan.

    Problem is, if sql is often doing this ( StatementOptmEarlyAbortReason="TimeOut" RetrievedFromCache="true" ) then the "comment" may do nothing. It seems only Option(recompile) forces sql to take however long is needed to generate an optimal plan for this query with these parameters.

    I realize you don't want a large percentage of queries recompiling, but since we have these "reporting" type queries on the same system doing OLTP, something better than daily freeproccache needs to be done. We're rushing to try and move all of the databases to enterprise solid state drives to give the developers more time to fix their queries.