SELECT X.ID, X.Field4
FROM
#TaxInvoiceData T
INNER JOIN
xxx X
ON T.Id = X.Id
AND Field2 = @VAR
AND Field3 = 'S'
当我运行一个查询表X的全表扫描,我不明白为什么,因为表X的主键是为什么要执行表扫描?
ID INT ASC
Field3 CHAR(2) ASC
Field2 DATETIME ASC Unique Non-clustered
还有上
Field2 DATETIME ASC Non-Unique Non-clustered
指数
这样做只是
SELECT ID
FROM xxx
WHERE
Field2 = @VAR
AND Field3 = 'S'
是否索引查找
在此先感谢。
#TaxInvoiceData中有多少行? – Joe
*是否索引寻找* - 好的,但在**哪个索引** ???另外:你说'(ID,Field2,Field3)'是你的'表X'上的主键 - 是表上的**聚集索引**吗?或者这是一个堆? –
S如何加入查询?这可能是因为主键没有被聚集,所以扫描表比在每一行的索引和表之间跳转要快。 – idstam