使用$ hint和$ natural运算符可以更快地使mongodb插入更快

Mac*_*cky 15 mongodb

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

对于具有多个索引的集合,是否可以指示插入操作使用$hint运算符并强制它使用$natural索引?这会加速插件还是我最好放弃所有索引只是为了加快插件的速度?

Tam*_*mir 32

$natural提示告诉mongo忽略查询索引,它与插入没有任何关系.
请注意,您无法在一段时间内关闭索引.
如果要加快插入速度,可以选择删除索引,但这会影响查询.更好的选择是更改写入关注点设置:
例如,"Unacknowledged"将使插入更快,因为它不会等待mongod确认收到写入操作.我猜这个缺点很明显.
看看这里:http: //docs.mongodb.org/manual/core/write-concern/

关于索引,拥有你不需要的索引永远不是一个好主意,因为它们会降低插入速度(正如你所知)并且它们正在咬你的机器内存.

文档中,建议使用capped collections加速写入,您可能需要考虑它.