102

我正在运行数据导入(使用 C#/Linq),自然我正在尝试尽可能优化我的查询。为此,我正在使用 SQL Server Profiler 在 DB 上运行跟踪,我的跟踪由我的 SQL 登录名过滤(这是一个可以唯一归因于我的数据导入过程的名称)。

奇怪的是,我的大多数 SQL 语句都非常快 :) - 很少有查询甚至超过 1 毫秒。但是在我的所有查询之间间隔的是几行,其中 EventClass 是“审核登录”或“审核注销”-“审核注销”的持续时间可能长达一分钟!

这与我在导入中使用交易这一事实有关吗?如果是这样,有什么方法可以找到哪些是热门查询,以便我可以清理它们?

4

4 回答 4

86

如果我没记错的话,审核注销的持续时间是连接打开的时间。例如,与命令的速度无关 - 只是登录“登录”的时间量。

于 2010-01-25T13:30:53.400 回答
12

登录/注销事件与设置/拆除有关。IIRC 时间是“登录时间”,而不是与其他日志事件一样的处理持续时间。

通常,除非您怀疑连接池管理等存在问题,否则会隐藏这些事件。

批次的原始时间应该足以诊断实际活动所花费的时间,包括任何事务的影响等。

于 2010-01-25T13:32:45.050 回答
3

同样值得注意的是,在这个答案中,审核登录/注销可能只是意味着连接正在从连接池重用/返回到连接池。

于 2011-07-04T12:25:50.700 回答
3

Audit Logout 事件类指示用户已注销(注销)Microsoft SQL Server。此类中的事件由新连接或从连接池中重用的连接触发。

这是连接登录的总时间,包括空闲时间,因此它并不表示性能问题。分析登录/注销也不太可能导致性能问题。您最好寻找性能不佳的查询,可能是长时间运行的查询。

有关更多信息,我建议https://msdn.microsoft.com/en-us/library/ms175827.aspx :)

于 2015-02-14T11:30:06.680 回答