索引搜索与SQL Server中的索引扫描
答
下面是一个使用扫描此查询的文本显示计划(略编辑为了简洁):
|–Table Scan(OBJECT:([ORDERS]), WHERE:([ORDERKEY]=(2)))
下图说明扫描:
这里是文本显示计划对于使用查找的相同查询:
|–Index Seek(OBJECT:([ORDERS].[OKEY_IDX]), SEEK:([ORDERKEY]=(2)) ORDERED FORWARD)
对此SQL Server Plans : difference between Index Scan/Index Seek
+0
所以它在我看来就像一个查找实际上存储记录的某种顺序。 Hense为什么它确切地知道这些值在表中的哪些位置?他们是以这种方式进行物理存储还是他们有某种指向物理存储记录的指针? – SnellyCat
答
看看简单地说, 索引扫描或表扫描是当SQL Server必须扫描数据或索引页找到相应的记录。扫描与寻道相反,寻道使用索引精确定位满足查询所需的记录。
你的问题是类似于这已经张贴在计算器的问题 从下面的链接得到它
你也可以从下面的链接
可能重复获取信息[SQL Server计划:索引扫描/索引查找之间的差异](http://stackoverflow.com/questions/1136524/sql-server-plans-difference-between-inde x-scan-index-seek) – damienc