我知道索引会减慢插入速度,因为每次插入新记录时都需要更新索引。
对于具有多个索引的集合,是否可以指示插入操作使用$hint
运算符并强制它使用$natural
索引?这会加快插入速度,还是我最好放弃所有索引来加快插入速度?
我知道索引会减慢插入速度,因为每次插入新记录时都需要更新索引。
对于具有多个索引的集合,是否可以指示插入操作使用$hint
运算符并强制它使用$natural
索引?这会加快插入速度,还是我最好放弃所有索引来加快插入速度?
该$natural
提示告诉 mongo 忽略查询索引,它与插入无关。
请注意,您不能在一段时间内关闭索引。
如果您想加快插入速度,可以选择删除索引,但它会影响您的查询。更好的选择是更改写关注设置:
例如,"Unacknowledged"
将加快插入速度,因为它不会等待mongod
确认收到写操作。我想缺点很明显。
看看这里: http ://docs.mongodb.org/manual/core/write-concern/
关于索引,拥有不需要的索引绝不是一个好主意,因为它们会减慢插入速度(正如您已经知道的那样)并且它们会占用您的机器内存。
在文档中,建议使用capped collections
来加快写入速度,您可能需要考虑它。