optimize for ad hoc workloads option is used to improve the efficiency of the plan/procedure cache for workloads that contain many single-use ad hoc batches. When this option is set to
1, the Database Engine stores a small compiled plan stub in the plan/procedure cache when a batch is compiled for the first time, instead of the full compiled plan. This helps to relieve memory pressure by not allowing the plan/procedure cache to become filled with compiled plans that are not reused. The compiled plan stub allows SQL Server to recognize that this ad hoc batch has been compiled before but has stored only a compiled plan stub, so when this batch is invoked (compiled or executed) again, ...