小编Ste*_*hen的帖子

10195 计划同一个查询!

所以,我运行了 BrentOzar 脚本,它为同一查询确定了 10195 个计划!!!查询如下:

SELECT * 
FROM [table1]
INNER JOIN [table2]
  ON [table1].[versionId] = [table2].[VersionId]
INNER JOIN [table3]
  ON [table2].[ContentId] = [table3].[nodeId]
INNER JOIN [table4]
  ON [table3].[nodeId] = [table4].[id]
WHERE ([table4].[nodeObjectType] = 'abcde123-fgh3-4ijk-8lmn-424f222332ff')
  AND ([table1].[published] = 0 
  AND [table1].[releaseDate] <= '2017-07-22 17:43:47')
  AND ([table1].[newest]=1)
ORDER BY [table2].[VersionDate] DESC, [table4].[sortOrder]
Run Code Online (Sandbox Code Playgroud)

所有 10195 个之间的唯一区别是日期字段(发布日期)。每个计划具有不同日期的值。

关于索引,以下适用:

  • 表 1:nodeid 和 versionid 上的 NC,versionId 上的 C
  • 表 2:版本 ID 上的 NC,ID 上的 C
  • 表 3:节点 ID 上的 NC,pk 上的 C
  • 表 4:nodeObjectType …

performance sql-server execution-plan query-performance

3
推荐指数
1
解决办法
890
查看次数