【问题标题】:Why is there a Key Lookup in this execution plan?为什么在这个执行计划中有一个 Key Lookup?
【发布时间】:2014-11-28 14:39:25
【问题描述】:

有人可以帮我解决这个问题吗?

这里显示的是执行计划的一部分:

加入的表是[Mark_group]#PossibleMarkSchemeGroupIds.

我尝试修改索引[Mark_group].[IDX_Mark_Group_Mark_Shell] 以避免Key_Lookup(显示为蓝色)

查看下图,了解 Key Lookup 的作用

[mark_Group], Mark_group_ID 中是主键。

我计划将 Key Lookup 任务中的列添加到索引的 INCLUDE 部分。但除了主列之外,我找不到任何其他列。

[PK_Mark_Group]PRIMARY KEY CLUSTERED INDEX 索引。在 Seek Predicates 中,我也只能看到主键列。

知道这个任务在这里做什么吗?

【问题讨论】:

  • 您应该发布您尝试运行的完整 SQL 查询
  • 在 SSMS 属性窗口中查看该运算符的输出列,

标签: sql sql-server tsql sql-server-2012 database-administration


【解决方案1】:

请检查索引 IDX_Mark_Group_Mark_Shell 是否包含表 Mark_Group 中所有需要的列。 SQL Server 使用索引 IDX_Mark_Group_Mark_Shell,但需要额外的数据并完成键查找。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    相关资源
    最近更新 更多