> As far as 0 execution counts, I know for cached statements, it typically is due to a statement that
> aborted. Not likely for a proc...what is more likely is recompiles - e.g. exec with recompile or other
> normal recompiles.
We have procs with Execution Counts of zero.
One proc appears 44 times - all the Execution Counts are zero - CPU and Execution Times are not zero and Logical Reads are about 6m each.
> If one of the tables had a lot of steps (e.g. 2000+).
We have quite a few large tables (+1bn rows) but they are partitioned.
Assuming sysstatistics.c4 is the correct column then we have many tables with more than 2000 steps.
eg one table has 9000 steps and 1215 on a column (I guess its one per partition ?)
Is 9000 considered large ?
The "number of histogram steps" is set to 50.
> The HWM entries on monProcedureCacheModuleUsage might help spot this - especially if rebooting every week.
Heres the top the HWM from monProcedureCacheModuleUsage
ModuleID Active HWM NumPagesReused ModuleName
---------- ----------- ----------- ----------- -------------- ------------------------------
10 2165426 2205506 0 Procedural Objects
5 27828 2118620 0 Execution
17 397726 404803 0 Statement Cache
Note: Another server shows high number NumPagesReused for "Procedural Objects" and "Statement Cache"
and from monProcedureCacheMemoryUsage
AllocatorID ModuleID Active HWM ChunkHWM NumReuseCaused AllocatorName
---------- ----------- ----------- ----------- ----------- ----------- -------------- ------------------------------
114 5 2634667 4068458 8 0 MEMC_SCOMPILE_1
118 5 5 328394 8 0 MEMC_SEQUENCER_1
115 4 2113 230901 8 0 MEMC_SCOMPILE_2
110 1 12315 121624 1 0 MEMC_PARSLEX_1
Another server shows HWM of 2147483647 for MEMC_SEQLOCK_1 and MEMC_CRCONSTR_1