问题标签 [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.
mongodb - MongoDB:读取索引而不是读取文档本身,减少 nscanned 对象
在下面的代码中,我查询日期并按名称排序(我不索引日期字段可能听起来很奇怪,但我这样做是为了避免在内存中排序,这就是我按名称索引的原因)。如果我正在运行解释,我会得到以下信息:
然后,如果我使用名称和日期创建复合索引,我会得到以下输出:
即使我的查询不包含索引或其前缀,在我看来,索引应该能够在第二种情况下直接从索引中读取日期字段,因此 nscannedObject 应该等于 n = 49。确实所有信息都已经在索引中扫描文档的数量应该等于返回结果的数量。看来这里不是这样。我错了还是我做错了什么?
mongodb - mongodb复合索引和单索引性能
考虑以下场景:
100% 的时间我的查询将在查询中包含a,有时也包含b。
90% 的查询将是:
10% 将是
仅使用复合索引(如果有的话)来满足这一点会有什么缺点?,就像这样:
}
或者我是否会受益于添加仅满足查询的第二个索引
mongodb - Mongodb - 分页时使用复合索引提高性能
我是 mongodb 的新手,我需要有关使用复合索引提高查询性能的帮助。
我正在使用“_id”字段进行分页。询问:
style
并且area
可以是可选的,因此这些也是可能的。
这些查询是否可以使用此复合索引,还是我需要更多附加索引?
编辑
我不确定这些索引中的哪一个对查询有效。
款式数量:16
区域数量:50
id数:1000万
python - 使用 PyMongo 在 MongoDB 中查询复合 _id 的时间范围
我有一个集合,其中_id
s 是时间和字符串的组合(是的,我知道这很糟糕,但是......当我到达时就是这样)。该集合中的一条记录如下所示:
基本上,我试图找出一个查询,它会给我记录 where _id.my_string
isFoo
和_id.my_time
is between time1
andtime2
我可以$and
用来构建查询dict
复合的不同部分的查询_id
吗?
这将返回 0 条记录:
这也是这样:
以防你没有注意到,当谈到 MongoDB 时,我是一个真正的新手。
先感谢您!
mongodb - MongoDB多重复合索引会影响性能吗?
为各种类型的查询创建多个复合索引是否更好?
或者
以支持多个查询的方式使用单个复合索引是否更好(这很难分析和构造,因为有很多查询)。
我的基本问题是“创建多个复合索引会减慢读/写操作吗? ”
请建议我一个解决方案。
mongodb - 如何在两个键值范围内查找具有查询值的文档
我正在分析文本。这些文本有注释(例如“章节”、“风景”……)。这些注释在我的 MongoDB 集合annotations
中,例如
挑战 1:对于文本中的给定位置,我想找到所有注释。例如查询字符1234
应该告诉我,
- 它在第一章内
- 它发生在城堡里
挑战 2:我也喜欢查询范围。例如查询字符形式9800 to 10101
应该告诉我,它触及chapter 1
,chapter 2
并且scenery forest
.
挑战 3:与挑战 2类似我只想匹配那些完全被查询范围覆盖的注释。例如查询字符形式9800 to 30000
应该只返回文档chapter 2
。
对于挑战 1,我尝试简单地使用$lt
and $gt
。例如:
但我意识到,start
即使我有 and 的复合索引,也只使用start
键的索引stop
。有没有办法为我提到的三个问题创建更充分的索引?
我很快想到了地理空间索引,但我还没有使用它们。我也只需要它的一维版本。
performance - MongoDB 复合索引与单字段索引在空间消耗方面
根据这篇文章,复合索引的维度更大(我在文档上找不到太多信息,所以如果你能指出我那里,我将不胜感激)。
假设我必须通过一系列地址来搜索整个地址(我们可以假设我将始终在集合和查询中拥有所有可用的字段),例如
我的问题是:复合索引会有多大?如果复合索引更大,那么单个字段是否会更好地将所有值的串联哈希添加到所有对象,向哈希字段添加单个索引并按其搜索(尽管听起来不像好习惯)?
postgresql - 具有三个键的复合索引,如果我查询跳过中间一个会发生什么?
使用 PostgreSQL,我想在三列上使用复合索引A, B, C
。B
是created_at
日期时间,有时我可能会在没有B
.
如果我复合索引 on(A, B, C)
但随后使用A
and条件进行查询C
,但不是,会发生什么情况B
?(也就是说,A
但C
想要它一直持续,而不仅仅是某个特定的时间范围?)
Postgres 是否足够聪明,仍然可以使用(A, B, C)
复合索引但只是跳过 B?
mongodb - Mongodb唯一复合索引不尊重日期
我在 mongodb 中遇到了唯一复合索引的问题。代码说得最好(在 mongo shell 中):
我希望 doc2 可以正常插入,因为即使它的 _id 为 1,它的日期也不同,但脚本会返回此错误:
当我对集合执行 find() 时,实际上我只看到:
为什么这不起作用?