①
将文档插入到MongoDB的时候,文档是按照插入的顺序,依次在磁盘上相邻保存
因此,一个文档变大了,原来的位置要是放不下这个文档了,就需要把这个文档移动到集合的另外一个位置,通常是最后,能放下这个文档的地方。
②
MongoDB移动文档的时候,会自动修改集合的填充因子(padding factor),填充因子是为新文档预留的增长空间,不能手动设定填充因子。
1:填充因子开始可能是1,也就是为每个文档分配精确的空间,不预留增长空间
2:当有文档超长而*移动文档的时候,填充因子会增大
3:当集合中不再有文档移动的时候,填充因子会慢慢减小
③
MongoDB进行文档移动是非常慢的
移动文档的时候,MongoDB需要将文档原先占用的空间释放掉,然后将文档写入新的空间,相对费时,尤其是文档比较大,又频繁需要移动的话,会严重影响性能
④
⑤
⑥
⑦
⑧
⑨
⑩
⑪
⑫
⑬
⑭
⑮
⑯
⑰
⑱
⑲
⑳