mongodb对数组增长的优化(使用占位空间,或者placeholder)

来源:《MongoDB权威指南》第2版,8.2.1节。

在文档中存在一个数组字段,并且这个数组字段会有push操作时,如果不做优化,可能每次push时,会造成“文档移动”,这回降低写入速度。

优化的方式是:

1.数组字段要放在文档的末尾。

2.在数组字段之后,添加一个足够长的“占位字段”。当对数组push的时候,对这个“占位字段”执行unset。

上面这两点是《MongoDB权威指南》中的论点。我认为可以补充一点:当push的时候,执行unset会把消除所有占位空间。如果push的数据的长度是10字节,而“占位字段”有50字节,那会发生什么呢?所以我觉得对“占位字段”,也可以执行update操作,仅仅缩短这个字段就可以了。

你可能感兴趣的:(mongodb对数组增长的优化(使用占位空间,或者placeholder))