我有以下表结构:当我将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中的索引感到困惑


猜你喜欢
- C#使用JavaScriptSerializer序列化时的时间类型处理 2022-11-10
- C# 执行Javascript脚本的方法步骤 2023-05-12
- C#中数据类型的转换介绍 2023-05-12
- C#操作Windows服务类System.ServiceProcess.ServiceBase 2023-06-08
- C# using语法糖图文详解 2023-03-29
- 如何利用C#正则表达式判断是否是有效的文件及文件夹路径 2023-05-26
- C#中获取二维数组的行数和列数以及多维数组各个维度的长度 2023-05-11
- c#基础——了解程序结构 2023-03-04
- C#窗体传值代码方法 2023-02-08
- C#匿名委托与Lambda表达式详解 2022-11-10