试图了解sql执行计划

Tra*_*vis 2 sql-server sql-execution-plan

我在SQL Server中创建了一个简单的表:

MemberId INT PRIMARY KEY Identity
Name NVARCHAR(100) NULL
Description NVARCHAR(250) NULL
Run Code Online (Sandbox Code Playgroud)

当我将MemberId创建为主键时,添加的唯一索引是聚簇索引.我没有为Name或Description添加索引.

我向表中添加了大约30,000行测试数据并执行以下查询:

SELECT * FROM Members WHERE Name = 'Foo'
Run Code Online (Sandbox Code Playgroud)

执行计划说如下:

Clustered Index Scan - cost 100%
Run Code Online (Sandbox Code Playgroud)

这是一个聚簇索引如何扫描?我不是在预测聚簇索引.我认为这更像是一次桌面扫描.谁可以给我解释一下这个?如果没有,究竟会导致表扫描的原因是什么?

a1e*_*x07 5

如果表具有聚簇索引,clustered index scan则与全表扫描相同.聚簇索引本身包含所有数据.