问题标签 [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 投票
1 回答
4427 浏览

sql-server - 聚集和非聚集索引 - SQL Server 和 Oracle?

聚集和非聚集索引的概述 - 不是特定于数据库的(据我了解):

聚集索引:数据的物理顺序。因此,一张表只能有一个聚集索引。

非聚集索引:每个表可以配置一个或多个非聚集索引。不直接影响数据页面的组织。

Microsoft SQL Server 和 Oracle “管理”聚簇索引和非聚簇索引的方式有区别吗?还是整个星展银行都一样?

任何指导都会很棒!

0 投票
1 回答
554 浏览

sql-server - 在这种简单的情况下,如何在时间范围内更快地检索行?

我试图弄清楚为什么在时间范围内选择行需要太多时间。

我有一个超过 500 万行的数据库表。

FooTimestamp 列上有一个非唯一、非聚集索引,它是 DateTimeOffset 类型。

当我尝试检索某个时间范围内的某些行时,需要 2 分钟以上。(当我再次运行它时,由于 MS-SQL Server 2008 的缓存功能,我猜它相对较快)

问题:当从具有数百万条记录的表中检索行时,我应该怎么做才能更快地获得查询结果?(我认为这样一个直截了当的查询需要 2 分钟太多了)

0 投票
2 回答
923 浏览

sql-server - 将列包含在同一个表中的 SELECT 中会减慢查询速度吗?

想象一下Foo 表在 ColA 和 ColB 上具有非聚集索引,在 ColC、ColD没有索引

大约需要30 秒

大约需要2 分钟

Foo 表有超过 500 万行。

问题:是否包含不属于索引的列会减慢查询速度?如果是,为什么?-它们不是已经阅读的页面的一部分吗?

0 投票
2 回答
2892 浏览

sql - 如何将新索引“安全”添加到生产数据库上的表中?

我考虑在生产数据库中的表上添加一些新索引。我关心的是“如何在不影响用户的情况下做到这一点”

问题:(如果这不是一个坏主意)我如何确定在 PRODUCTION Db 中的表上添加额外索引不会损害/影响用户。有超过 500 万条记录?

0 投票
1 回答
236 浏览

sql - 包含非聚集索引的列是否重复值?

如果我使用 INCLUDE 子句并将一些列添加到非聚集索引中,这是否意味着我将数据同时存储在 INDEX 及其 PAGE 上——这意味着至少消耗了双倍的空间——?

0 投票
1 回答
527 浏览

database - 非聚集索引使用聚集索引的键而不是地址?

在SQL Server 2008 R2的文档中说明:

宽键是几个列或几个大列的组合。来自聚集索引的键值被所有非聚集索引用作查找键。在同一个表上定义的任何非聚集索引都将明显更大,因为非聚集索引条目包含聚集键以及为该非聚集索引定义的键列。

这是否意味着,当使用非聚集索引进行搜索时,聚集索引也是搜索?我最初认为非聚集索引直接包含页面(块)的地址及其引用的行。从上面的文字看来,它似乎只包含来自非聚集索引的键而不是地址。

有人可以解释一下吗?

0 投票
2 回答
1687 浏览

sql - 聚集对数据进行物理排序和非聚集索引也是如此吗?

那么聚集索引和非聚集索引在数据创建后就对其进行物理排序?

根据我的只读聚集索引是否进行物理排序?

0 投票
1 回答
91 浏览

sql - 索引中单个键的大小

我在几个字段上建立了一个非聚集索引。现在如何查看索引中每个键的大小,或者这只是我在索引中使用的字段字节大小的总和?

谢谢托马斯

0 投票
2 回答
315 浏览

sql-server - 聚集索引和非聚集索引

是否可以创建不唯一的非聚集索引?使用什么数据结构来实现非聚集索引。

0 投票
2 回答
174 浏览

sql-server - 放置索引后读取不会变低

要求是在分页中加载 50 条记录,表“empl”的所有 65 列以最小 IO 加载。表中有 280000+ 条记录。PK 上只有一个聚集索引。

分页查询如下:

以下是从探查器运行上述查询后的统计信息:

CPU:1500,读取:25576,持续时间:25704

然后我将以下索引放在表 empl 上:

放入索引后 CPU 和 Reads 仍然更高。我不知道索引有什么问题或查询有什么问题?

编辑:

以下查询在放入索引后也进行了高读取。而且只有 3 列和 1 个计数。

第二次编辑:

现在我在“uon”列上放置了以下索引:

但是 CPU 和读取仍然更高。

第三次编辑:

DTA 建议我对第一个查询中包含的所有列进行索引,因此我更改了建议的索引,将其转换为基本四个过滤器的过滤器索引,以使其更有效。

我在创建索引时在Include之后添加了以下行。

但是在开发和生产机器上的读取仍然很高。

第四次编辑:

现在我找到了一个提高性能的解决方案,但仍然达不到目标。关键是它不适用于ALL THE DATA

查询如下:

并使用键列更改、包含和过滤重新创建索引:

它提高了性能,但达不到目标。