【发布时间】:2016-11-08 12:06:15
【问题描述】:
请通过示例说明 MS SQL 服务器中的 Index Scan 和 Index Seek 之间的区别,因为这将有助于了解它的真正用途。提前致谢。
【问题讨论】:
标签: sql sql-server sql-server-2008
请通过示例说明 MS SQL 服务器中的 Index Scan 和 Index Seek 之间的区别,因为这将有助于了解它的真正用途。提前致谢。
【问题讨论】:
标签: sql sql-server sql-server-2008
以下是使用扫描的该查询的文本显示计划(为简洁起见稍作编辑):
|–Table Scan(OBJECT:([ORDERS]), WHERE:([ORDERKEY]=(2)))
下图说明了扫描:
以下是使用 seek 的同一查询的文本显示计划:
|–Index Seek(OBJECT:([ORDERS].[OKEY_IDX]), SEEK:([ORDERKEY]=(2)) ORDERED FORWARD)
看看这个SQL Server Plans : difference between Index Scan / Index Seek
【讨论】:
简单来说, 索引扫描或表扫描是 SQL Server 必须扫描数据或索引页面以找到适当的记录。扫描与查找相反,查找使用索引来查明满足查询所需的记录。
您的问题类似于已在 stackoverflow 中发布的问题 从下面的链接获取它
您也可以从以下链接获取信息
【讨论】: