Sup*_*bbs 11 performance sql-server-2008 sql-server t-sql
我有几个从 C# .NET web 应用程序调用的查询,它们对我来说总是很快(我是 SQL Server 的本地管理员),但对于一组用户(具有所需权限的域组),查询速度非常慢它在应用程序中超时的点。
什么会导致完全相同的查询对不同的用户以不同的方式运行?
更多信息:
如果参数相同(我假设这是什么意思exact same query
),它不应该是参数嗅探(用户对错误的参数得到了一个糟糕的计划),而是用户得到了相同参数的不同计划(s)。这可能是因为像quoted_identifier
and之类的设置arithabort
,您可以sys.dm_exec_sessions
对快速用户和慢速用户进行比较,或者可能是因为它们具有不同的默认架构,并且在没有架构前缀的情况下引用了对象。可能仍然涉及参数嗅探(因此其中之一的计划很糟糕)。
我看到了两个原因:1、参数嗅探2、连接设置不同。如果您运行whoisactive,它将显示不同的连接属性。我实际上有一篇关于此的博客文章,但我还没有从中清理公司的具体信息。(我也还没有启用我的博客);)