1

微软 SQL 服务器 2008

  • 我们有一个具有相同参数的存储过程。
  • 我们有两个具有不同架构的帐户。

我们对这两个账户有不同的执行计划。

通常执行计划应该是相同的,但在我们的例子中它不是。

什么会导致这种行为?

谢谢。

4

2 回答 2

1

我终于找到了问题所在:

我已经从不同的用户帐户运行了一些代码,这些用户帐户有不同的SET LANGUAGE选项。

关于它的好文章:http ://allcomputers.us/windows_server/microsoft-sql-server-2008-r2---query-plan-caching-(part-1)---query-plan-reuse---query -计划老化.aspx

于 2013-04-03T14:58:07.067 回答
0

评论删除了格式,所以我SET在这里发布代码来检查选项:

SELECT  
    SESSIONPROPERTY('ANSI_PADDING') AS [ANSI_PADDING]
    ,SESSIONPROPERTY('FORCEPLAN') AS [FORCEPLAN]
    ,SESSIONPROPERTY('CONCAT_NULL_YIELDS_NULL') AS [CONCAT_NULL_YIELDS_NULL]
    ,SESSIONPROPERTY('ANSI_WARNINGS') AS [ANSI_WARNINGS]
    ,SESSIONPROPERTY('ANSI_NULLS') AS [ANSI_NULLS]
    ,SESSIONPROPERTY('QUOTED_IDENTIFIER') AS [QUOTED_IDENTIFIER]
    ,SESSIONPROPERTY('ANSI_NULL_DFLT_ON') AS [ANSI_NULL_DFLT_ON]
    ,SESSIONPROPERTY('ANSI_NULL_DFLT_OFF') AS [ANSI_NULL_DFLT_OFF]
    ,SESSIONPROPERTY('DATEFORMAT') AS [DATEFORMAT]
    ,SESSIONPROPERTY('LANGUAGE') AS [LANGUAGE]
于 2014-10-30T14:06:15.837 回答