如果索引列不在select,join或where子句中,则为什么要扫描索引列

时间:2017-05-30 15:08:23

标签: sql sql-server-2008 sql-server-2005

我有两个表,GRNGRNStones

GRN表有:

code(PK) Clustered index
GRNType(FK) Non Clustered Index
location (FK)
LocationCode(FK) Non Clustered Index

我写了下面给出的查询。从此查询中,如果我查看执行计划,它会在GRNType列上显示索引扫描(非群集)。我没有在selectjoinwhere中使用此列,但仍在使用中。为什么呢?

查询:

SELECT  [Code]          = B.Code,
        [InternalParty] = B.InternalParty
FROM GRN A
  INNER JOIN GRNStones B
    ON B.GRNCode = A.Code
WHERE B.Code > 100 

执行计划:

enter image description here

0 个答案:

没有答案