c# – 对Sql Server中的索引感到困惑

我有以下表结构:当我将Id列设置为主键时,它会自动在Indexes文件夹中创建名为PK_TestIndexTbl(Clustered)的索引.我的表包含大约1,300,000条记录,当我执行以下查询时,大约需要5秒钟:SELECT [Id], [Name], [Family], ...

我有以下表结构:

当我将Id列设置为主键时,它会自动在Indexes文件夹中创建名为PK_TestIndexTbl(Clustered)的索引.我的表包含大约1,300,000条记录,当我执行以下查询时,大约需要5秒钟:

SELECT [Id], [Name], [Family], [Score]
FROM   [TestIndexTbl]

但是当我从表中删除主键时,当然它会删除索引,我希望我的查询花费超过5秒,因为我现在没有任何索引.但它没有区别,我在5秒钟内得到了结果.为什么?

我的问题:如何查看索引使用情况?我应该运行什么查询来查看有无索引的区别?
而且哪里没有效果.使用或不使用index时,执行以下查询的时间不到一秒:

SELECT [Id], [Name], [Family], [Score]
FROM   [TestIndexTbl]
where Id = 602145

解决方法:

由于您选择了数据库中的所有条目,因此索引无关紧要.当它们按顺序存储并且不存在时,需要花费相同的时间才能将所有书籍从库中取出.

本文标题为:c# – 对Sql Server中的索引感到困惑

基础教程推荐