- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个具有多个索引的集合,通常我必须将一些数据推送到该集合的数组中。我尝试过查看 MongoDb Doc,但我能得到的最好的结果是,
For inserts and updates to un-indexed fields, the overhead for sparse indexes is less than for non-sparse indexes. Also for non-sparse indexes, updates that do not change the record size have less indexing overhead.
我知道稀疏索引和非稀疏索引的区别,稀疏索引的开销会更少是有道理的。
但是为什么即使我只更新文档中的未索引字段,为什么所有其他索引都必须更新!是不是因为每个索引的数据都一样,所有的数据都要更新?
我的文档
var sample = new Schema({
***
student_list: [ {type :Schema.Types.Mixed}],
location: [ {type :Schema.Types.Mixed}],
****
});
student_list.studID will be indexed
{studID:1,city:M,Time:"... e}
现在我经常需要更新位置字段。查询
db.sample.find({student_list.studID:"studid"})
db.sample.find({student_list.studID:"studid", student_list.city:"M"})
all using student_list_studId_1 index
这种方法可以吗?或者我应该创建一个差异集合,并将每个学生列表作为单独的文档(每个示例文档将有多个学生 ID,这在差异示例文档中可能很常见)
最佳答案
索引在每次插入时更新的原因与文档大小及其分配有关。
假设该文档有 1765 字节,我们添加接下来的 950 字节(数据 + bson 开销),这可以执行给定文档的重定位,因为它不适合当前分配的数据 block -> 并且数据库引擎需要更新所有索引中的指针以指向新文档位置。
关于mongodb - MongoDb $set 运算符(非索引字段)会很昂贵吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775269/
我正在阅读 MongoDB,并试图了解它的最佳用途。我没有看到明确答案的一个问题是哪些操作便宜或昂贵,以及在什么条件下。 你能帮忙澄清一下吗? 谢谢。 最佳答案 人们经常声称 mongodb 的写入速
我正在寻找一个主要来源(或一个非常好的解释)来支持在为 iPhone 编写软件时使用 autorelease 是危险的或过于昂贵的说法。 许多开发者都提出了这种说法,我什至听说 Apple 不推荐它,
我意识到这离微优化领域太远了,但我很想知道为什么调用 DateTime.Now 和 DateTime.UtcNow 如此“昂贵”。我有一个示例程序,它运行几个场景来做一些“工作”(添加到一个计数器)并
我是一名优秀的程序员,十分优秀!