Sql server SQL Server性能和无连接谓词问题是否关联?
这个问题我会发疯的。 我在3台服务器上工作。由于备份和恢复选项,我在任何地方都使用相同的数据库。 问题在于,在一台服务器上,查询持续时间非常长(8分钟),而在另外两台服务器上(不到1秒)。查询执行计划也不同,我真的不知道为什么 以下是我测试的查询:Sql server SQL Server性能和无连接谓词问题是否关联?,sql-server,performance,sql-execution-plan,Sql Server,Performance,Sql Execution Plan,这个问题我会发疯的。 我在3台服务器上工作。由于备份和恢复选项,我在任何地方都使用相同的数据库。 问题在于,在一台服务器上,查询持续时间非常长(8分钟),而在另外两台服务器上(不到1秒)。查询执行计划也不同,我真的不知道为什么 以下是我测试的查询: SELECT * FROM TRACK_TEMP2.dbo.[c96a83ff-3cdb-4a03-b118-df3eff591c27] WHERE TRACK_TEMP2.dbo.[c96a83ff-3cdb-4a03-b118-df3eff5
SELECT * FROM TRACK_TEMP2.dbo.[c96a83ff-3cdb-4a03-b118-df3eff591c27]
WHERE
TRACK_TEMP2.dbo.[c96a83ff-3cdb-4a03-b118-df3eff591c27].[Gg]
NOT IN (
SELECT [TTop_FullPath] FROM [TH].[dbo].[VTopicCompatibility]
WHERE TTop_Type=(
SELECT TTop_Name FROM [TH].[dbo].[TTopic]
WHERE TTOP_PK_ID= 1237936 )
)
AND
NOT TRACK_TEMP2.dbo.[c96a83ff-3cdb-4a03-b118-df3eff591c27].[Gg] IS NULL
以下是我在fast服务器上得到的执行计划:
以下是我在慢速服务器上得到的执行计划:
以下是有关警告的详细信息:
我不明白为什么会有这样的差别。有什么想法吗
PS:如果我删除最后一行和“and”,速度会非常快。你能尝试更改
而不跟踪_TEMP2.dbo。[c96a83ff-3cdb-4a03-b118-df3eff591c27]。[Gg]为NULL
到并跟踪_TEMP2.dbo。[c96a83ff-3cdb-4a03-b118-df3eff591c27]不为NULL
。。可能会或可能不会产生影响?由于不同的配置(并行度阈值)、旧的统计数据或缓存的坏工厂,它们可能是不同的计划最后一个条件是不必要的(但希望SQL Server能够自行解决)。不为NULL不会更改计划的任何内容,持续时间也不需要最后一个条件!为什么是“无连接谓词”?