问题标签 [non-clustered-index]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
292398 浏览

sql-server - 聚集索引和非聚集索引有什么区别?

clustereda和 a 有什么区别non-clustered index

0 投票
12 回答
850740 浏览

sql-server - 聚集索引和非聚集索引实际上是什么意思?

我对 DB 的了解有限,仅将 DB 用作应用程序程序员。我想知道ClusteredNon clustered indexes。我用谷歌搜索,我发现的是:

聚集索引是一种特殊类型的索引,它对表中记录的物理存储方式进行重新排序。因此表只能有一个聚集索引。聚集索引的叶节点包含数据页。非聚集索引是一种特殊类型的索引,其中索引的逻辑顺序与磁盘上行的物理存储顺序不匹配。非聚集索引的叶节点不包含数据页。相反,叶节点包含索引行。

我在 SO 中发现的是聚集索引和非聚集索引有什么区别?.

有人可以用简单的英语解释一下吗?

0 投票
5 回答
14060 浏览

sql - SQL中Cluster和Non-cluster索引的区别

只是为了面试问题的知识,以及我的知识。

ClusterSQL -和之间的区别Non-cluster index

0 投票
3 回答
843 浏览

sql-server-2008 - 我应该使用哪个非聚集索引?

在这里,我正在研究 SQL Server Management Studio 上的非聚集索引。

我创建了一个包含超过 100 万条记录的表。该表有一个主键。

这是我将用来查看执行计划显示的查询:

好吧,在没有额外的非聚集索引的情况下执行这个命令,它会导致执行计划向我展示:

现在我正在尝试看看是否可以提高性能,所以我为这个表创建了一个非聚集索引:

1) 第一个非聚集索引

再次对客户表执行选择,执行计划显示:

似乎更好。现在我删除了这个刚刚创建的非聚集索引,以便创建一个新索引:

2) 第一个非聚集索引

使用这个新的非聚集索引,我再次执行了 select 语句,执行计划显示了相同的结果:

那么,我应该使用哪个非聚集索引?为什么 I/O 和 Operator 的执行计划成本相同?我做错了什么还是预期的?

谢谢你

0 投票
2 回答
83 浏览

sql-server - 选择函数值在索引上显示 nvarchar(4000)

我有一个视图,我正在尝试为其设置索引。视图的选择列之一执行返回值为 varchar(250) 的用户定义函数。但是,当我尝试在该列上设置索引时,我看到 nvarchar(4000) 的大小。为什么会这样?如果我继续设置索引会导致问题吗?

0 投票
2 回答
11371 浏览

sql-server-2005 - 如何解决 SQL Server 2005 中数据类型为 varchar(4096) 的列上的 900 个键长度限制索引?

这是创建索引的查询 create index idx_ncl_2 on BFPRODATTRASSOCIATION (value,attributeid) include (productid)

BFPRODATTRASSOCIATION的表结构

我收到此错误:

最大密钥长度为 900 字节。索引“idx_ncl_2”的最大长度为 1237 字节。

我必须在此列上创建一个非聚集索引。有什么方法可以为数据类型为 varchar 且大小大于 900 的列创建索引。

请建议。

0 投票
5 回答
1232 浏览

performance - 提高 SQL Server 2005 查询性能

我有一个课程搜索引擎,当我尝试进行搜索时,显示搜索结果需要很长时间。您可以尝试在这里进行搜索

http://76.12.87.164/cpd/testperformance.cfm

在该页面上,您还可以看到数据库表和索引(如果有)。

我没有使用存储过程 - 查询是使用 Coldfusion 内联的。

我想我需要创建一些索引,但我不确定是哪种(集群、非集群)以及在哪些列上。

谢谢

0 投票
4 回答
260 浏览

sql - tsql查询和索引问题

我有一个存储照片信息的表,其中 id 作为主键:

id(PK)、标题、album_id、posted_by、已发布、文件名、标签、评级、发布日期

该表将保存 100+ 百万张照片的信息,我需要经常运行这样的查询:

1) 获取给定相册的所有照片(仅 id、文件名、标题列)

从照片中选择 id、文件名、标题,其中 album_id = @AlbumId 并且已发布 = 1

2)获取给定用户的所有已发布照片,但不包括当前查看相册的照片

从posted_by='bob' 和album_id <>10 和published = 1 的照片中选择ID、文件名、标题

我想避免索引和表扫描。我需要尽可能多地使用 seek(比如 100%)。

这可以做到吗?什么类型的索引和哪些列可以帮助我实现这一目标?

谢谢

0 投票
5 回答
1756 浏览

sql-server - 非聚集索引上的 where 子句与聚集索引上的额外连接和 where 子句

我试图从一些 sql 查询中获得一些额外的性能,这些查询在字段上具有 where 子句,该字段是非唯一非聚集索引,它也是表 A 中的外键。该外键是主键在表 B 上,并且是聚集索引。

我想知道的是,如果我将表 A 的联接添加到表 B 并在作为聚集索引的字段上使用 where 子句(与没有额外联接的非聚集索引相反),我是否会获得性能提升)?

谢谢

0 投票
3 回答
13175 浏览

sql - 将聚集索引转换为非聚集索引?

在 sql server 2005 中是否可以将聚集索引转换为非聚集索引或将非聚集索引转换为聚集索引。

请将此查询转换为聚集索引:

请将此查询转换为非聚集索引: