问题标签 [compound-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 投票
2 回答
7468 浏览

sql-server - 多个约束键

如果我提出:

  • 资源(id (PK),名称)
  • 经理(id(PK),resource_id(FK),manager_resource_ID(FK))

resource_id 和 manager_id 都应该是Resource表的外键。

我显然不想在每个不是适当资源的列中输入任何值

当我添加第一个关系(resource_id <-> id)它工作正常但

当我添加第二个(manager_resource_id <-> id)时,它失败并出现错误:

无法创建关系 [ . . .] ALTER TABLE 语句与 FOREIGN KEY 约束 [... ] 冲突。表 Resource 中发生冲突,列 id

还是我需要把它分成 3 张桌子?

Resource(id, first, last)
Resource_manager(id, resource_id, manager_ID)
Manager(id)

0 投票
3 回答
4103 浏览

sql-server - 当 WHERE 子句中只有一列时,SQL Server 会使用复合索引吗?

假设我有一张桌子:

查询通常在FirstNameLastName上,但也在FirstName LastName上。

如果我在FirstName上创建一个非聚集索引,在LastName上创建另一个索引,那么我的前两个查询将得到满足。显然,SQL Server 将对其他查询使用索引交集

或者,如果我在 (FirstName) 和 (LastName, FirstName) 上有索引对象,SQL Server 是否可以/是否将第二个索引用于仅对LastName的查询以及对两者的查询?

SQL Server 是从左到右还是从右到左存储复合索引部分?换句话说:它会将密钥构建为 LastNameFirstName 还是 FirstNameLastName?还是可以随意选择一个?

0 投票
2 回答
21790 浏览

mysql - MySQL:制作 3 个字段的复合索引,还是制作 3 个单独的索引?

我有一个 MySQL 表,其中包含时间戳、类型和 user_id 等属性。
所有这些都是可搜索和/或可排序的。
是为每个索引创建一个索引,还是为所有三个索引创建一个复合索引,或者两者都创建更好?

0 投票
4 回答
1882 浏览

oracle - 多列索引列顺序

我被告知并在各处阅读它(但没有人敢解释原因),在多列上编写索引时,出于性能原因,我应该将最具选择性的列放在首位。这是为什么?这是一个神话吗?

0 投票
6 回答
5755 浏览

sql - 优化 SQL 查询以避免全表扫描

考虑以下查询:

Transactions表中的Stamp列是一个 TIMESTAMP,并且上面有一个索引。如何更改此查询以避免全表扫描?(即在day()函数之外使用Stamp )

谢谢!

0 投票
3 回答
788 浏览

mysql - mysql多列索引不起作用(如预期的那样)?

我有一张这样的桌子

因为我有一个关于可见性、num_subscribers 和 num_items 的索引,所以我希望只需要查看前 15 行,相反,EXPLAIN 表示 55856 行。任何的想法?谢谢

0 投票
3 回答
99 浏览

oracle - 哪些指标是必要的?

如果我有一张桌子TABLE_1,可以说 5 列:

我想做两个主要的查询:

另一个是:

我应该创建哪些索引?创建一个带有列COL1COL2索引并为两个查询建立索引,或者我是否需要另一个索引COL2才能更快地进行第二个查询?

谢谢!

0 投票
2 回答
131 浏览

mongodb - 使用 MongoDB,构建索引需要选择哪些字段?

如果有一个查询在字段 a 和 b 上过滤,然后在 c 上排序,我是否需要为 a、b 和 c 构建单独的索引,还是应该实际构建 (a、b、c) 的复合索引?而且,查询中的序列是否应该与索引中的序列匹配?也就是说,如果查询中的过滤器序列是过滤器b,过滤器c,然后在a上排序,那么具有(b,c,a)的复合索引是否更好?

0 投票
1 回答
664 浏览

mongodb - MongoDB,如何为包含地理空间查询、范围查询和不同列排序的查询创建索引?

因此,如果我有一个执行以下操作的查询(在伪代码中)

find(a 附近的 x, b > y).sort(c)

其中a是地理列,b是long类型,c也是long类型

(a:2d, b:1, c:1) 上的复合索引会起作用并建议吗?

0 投票
4 回答
427 浏览

sql - 带有复合的 SQL 选择子句

我的 Microsoft SQL Server 2008 数据库中有两个查找/引用表(已订阅和未订阅),其结构如下:

这些字段作为复合索引一起索引。

我想要做的是找到未订阅表中存在的所有记录,这些记录在已订阅表中没有匹配记录(匹配 UserId 和 PublicationId)

在功能上,我想要类似的东西:

谁能指出我正确的方向?

谢谢。