我正在寻找一种方法来证明最近添加的索引对生产系统产生了积极的影响。 我收集了一些dmv统计数据,以显示这些索引确实被频繁使用,但需要找到一种方法来证明它们对选择查询的影响足够积极,以抵消添加的更新/删除时间可能带来的任何负面影响。 我正在寻求关于如何证明这些指标对其产生积极影响的任何见解/建议。
你需要先基准整个工作负载,并进行前后对比测量。光看上面的数字,我完全不知道它们究竟代表什么。我会有以下问题: - 这124,000次更新操作是否比以前慢10倍? - 它们是否会阻塞用户? - 是因为速度更快,所以人们可以做更多的事情,还是仅仅是查询数量自然增加了? 首先,备份数据。在开发服务器上恢复数据。使用索引和不使用索引时重新播放追踪文件,并进行比较(需要注意硬件/网络等的绝对结果可能会有所不同,并且无法真正获得并发性的影响,但相对差异应该是有帮助的)。您可以比较以下一些内容: - 完整工作负载的运行时间 - 在整个工作负载期间的性能监视器信息(例如,速度更快了,但CPU占用率是否过高?速度变慢了,但CPU使用率是否也增加了?) - 在每次运行之前和之后记录的sys.dm_os_wait_stats的快照 - 在每次运行之前和之后记录的sys.dm_exec_query_stats/sys.dm_exec_procedure_stats的快照 确保您先运行工作负载几次以预热缓存(因为您的生产系统很少在冷缓存上运行)。 如果您还没有对相当代表性的工作负载进行跟踪,那么这就是您需要花时间做的事情。我想不出任何“快速”方法来证明这些索引对您的实际工作负载的影响。