MS SQL - 针对不同的模式不同的执行计划?(MS SQL - different execu

2019-10-17 23:14发布

MS SQL SERVER 2008

  • 我们一个存储与相同参数的过程。
  • 我们有两个账户,不同的模式。

而我们有这两个帐户不同的执行计划。

通常情况下,执行计划应该是相同的,但在我们的情况并非如此。

什么会导致这种行为?

谢谢。

Answer 1:

我终于找到了其中的问题是:

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

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



Answer 2:

评论删除格式,所以我张贴代码来检查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]


文章来源: MS SQL - different execution plan for different schemas?