小编Dav*_*ett的帖子

DBCC 命令的日志记录

是否有办法跟踪 DBCC 命令是否针对 SQL Server 数据库运行?

具体来说,我想查看以下 2 个命令是否已在任何时候运行?

DBCC FREEPROCCACHE DBCC DROPCLEANBUFFERS

原因是缓存不断清空,我很确定服务器上没有很大的内存压力。

我真的很想排除这样一个事实,即这是由某人完成的,这确实是我需要调查和/或向服务器添加更多内存的真正问题。

提前致谢大卫

sql-server sql-server-2012

3
推荐指数
1
解决办法
316
查看次数

合并连接性能调优

我一直在研究供应商 SQL 查询的性能问题,通常在这个供应商那里我可以看到可以提高性能的索引,但是这个查询目前在性能调整方面有点超出我的范围。希望在这个请求之后我会学到一些新东西。

SQL 的问题似乎是合并连接(内部连接),我不确定尝试和提高这些性能的最佳方法。

我真的很感激有人指出我正确的方向,或者如果我可以提供更多信息,请告诉我。

这是执行计划SQL 查询

由于我尝试应用索引,因此该索引并不多,但它们似乎没有减少合并连接的效果。因此,我给您的计划是使用供应商的默认索引。

更新 1:我添加了索引来查询,但它们几乎没有影响,这里是索引和新计划

新的 SQL 计划索引

我还更新了查询中涉及的所有表的统计信息。

使用选项(散列连接)将运行时间从 30 秒减少到 15 秒。但是,这是从屏幕后面运行的供应商 SQL,因此我无法强制执行此操作。

服务器上的 MAXDOP 设置为 0,成本阈值为 50,所以不确定为什么它不想并行。

更新 2:似乎在表 atstsehourdetmap 上具有以下唯一索引会导致问题。如果我删除这些,那么查询会在不到一秒的时间内运行。

创建唯一索引 [aiatstsehourdetmap2] ON [dbo].[atstsehourdetmap] ( [oid] ) ;

创建唯一索引 [aiatstsehourdetmap1] ON [dbo].[atstsehourdetmap] ( [tsehourdet_id] ) ;

任何想法为什么?

performance sql-server execution-plan query-performance

3
推荐指数
1
解决办法
5211
查看次数