15

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

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

4

1 回答 1

32

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

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

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

于 2013-06-25T11:56:53.537 回答