【发布时间】:2012-04-21 02:40:48
【问题描述】:
我已经创建了一个表
create table #temp(a int, b int, c int)
我在这张表上有 2 个索引:
- c 上的非聚集非唯一索引
- a 上的聚集索引
当我尝试执行以下查询时:
select b from #temp where c = 3
我看到系统进行索引扫描。这很好,因为非聚集索引没有 b 作为键值。因此,它从 a 列进行索引扫描。
但是当我尝试执行以下查询时:-
select b from #temp where c= 3 and a = 3
我看到执行计划只有索引搜索。没有扫描。这是为什么呢?
聚簇索引和非聚簇索引都不是 b 作为列之一吗?
我希望进行索引扫描。
请澄清
【问题讨论】:
-
您为什么希望进行索引扫描?
标签: tsql sql-server-2005