Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用$hint和$natural操作符可以加快mongodb插入速度吗_Mongodb - Fatal编程技术网

使用$hint和$natural操作符可以加快mongodb插入速度吗

使用$hint和$natural操作符可以加快mongodb插入速度吗,mongodb,Mongodb,我知道每次插入新记录时都需要更新索引,因此会减慢插入速度 对于具有多个索引的集合,是否可以将插入操作指向并强制其使用$natural索引?这会加快插入速度吗?还是我最好删除所有索引来加快插入速度?提示告诉mongo忽略查询中的索引,它与插入无关。 请注意,您不能在一段时间内关闭索引。 如果希望加快插入速度,可以选择删除索引,但这会影响查询。更好的选择是更改写入关注点设置: 例如,“Unacknowledged”将加快插入速度,因为它不会等待mongod确认收到写入操作。我想缺点是显而易见的。 请

我知道每次插入新记录时都需要更新索引,因此会减慢插入速度


对于具有多个索引的集合,是否可以将插入操作指向并强制其使用
$natural
索引?这会加快插入速度吗?还是我最好删除所有索引来加快插入速度?

提示告诉mongo忽略查询中的索引,它与插入无关。
请注意,您不能在一段时间内关闭索引。
如果希望加快插入速度,可以选择删除索引,但这会影响查询。更好的选择是更改写入关注点设置:
例如,
“Unacknowledged”
将加快插入速度,因为它不会等待
mongod
确认收到写入操作。我想缺点是显而易见的。
请看这里:

关于索引,拥有您不需要的索引从来都不是一个好主意,因为它们会减慢插入速度(您已经知道),并且会占用您的机器内存


在这里,建议使用<代码>封顶集合加速写入,您可能需要考虑它。

请注意那些查看上限的集合:记住它们是循环的。如果没有认真阅读文档,可能会省去一些麻烦。等等,它说你应该在哪里使用封顶收藏而不是普通收藏来“加速写入”?@Sammaye:浏览到,你会发现像“封顶收藏可以接收非常高速的写入”这样的承诺。有一节解释了原因。关于写入问题,它将加快写入速度,因为不等待ack;缺点是显而易见的(我在回答中也写到了这一点)是的,我误读了你的答案,所以我删除了最后一条评论,但它所说的内容不支持像你在回答中暗示的那样,在正常的收集事实上使用封顶收集。使用capped collections有非常具体的场景和案例,这一行只说明capped collections可以获得高吞吐量,一个主要原因是它们没有索引更新加速插入:如果可以选择副本集,则可以使用主节点集进行写操作,使用次节点集进行读操作: