加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

分享 | MongoDb优化指南

发布时间:2018-11-14 14:46:31 所属栏目:编程 来源:吴纹羽
导读:1、为什么选择MongoDB? 1、机能 在大数据期间中,大数据量的处理赏罚已经成了考量一个数据库最重要的缘故起因之一。而MongoDB的一个首要方针就是尽也许的让数据库保持卓越的机能,这很洪流平地抉择了MongoDB的计划。在一个以传统机器硬盘为主导的年月,硬盘很也许

在这个示例中我们将作者的字段完全嵌入到了图书中去,在查询的时辰直接查询图书即可得到所对应作者的所有信息,但因一个作者也许有多本著作,当修改某位作者的信息时时,我们必要遍历全部图书以找到该作者,将其修改。

3、部门内嵌(折中方案)

示例3:

  1. {  
  2.        "_id" : ObjectId("5124b5d86041c7dca81917"),  
  3.        "title" : "怎样行使MongoDB",  
  4.        "author" : [   
  5.                {  
  6.                      "_id" : ObjectId("144b5d83041c7dca84416"),  
  7.                      "name" : "丁磊"  
  8.                 },  
  9.                 {  
  10.                      "_id" : ObjectId("144b5d83041c7dca84418"),  
  11.                      "name" : "马云"  
  12.                 },  
  13.                 {  
  14.                      "_id" : ObjectId("144b5d83041c7dca84420"),  
  15.                      "name" : "张召忠" 
  16.                 },  
  17.       ]  
  18.   } 

这次我们将作者字段中的最常用的一部门提取出来。当我们只必要得到图书和作者名时,无需再次进入作者荟萃举办查询,仅在图书荟萃查询即可得到。

这种方法是一种相对折中的方法,既担保了查询服从,也担保的更新服从。但这样的方法显然要比前两种较难以把握,难点在于必要与现实营业举办团结来探求吻合的提取字段。犹如示例3所述,名字显然不是一个常常修改的字段,这样的字段假如提取出来是没题目的,但假如提取出来的字段是一个常常修改的字段(好比age)的话,我们仍旧在更新这个字段时必要大范畴的探求并依此举办更新。

在上面三个示例中,第一个示例的更新服从是最高的,但查询服从是最低的,而第二个示例的查询服从最高,但更新服从最低。以是在现实的事变中我们必要按照本身现实的必要来计划表中的字段,以得到最高的服从。

5、领略添补因子

作甚添补因子?

添补因子(padding factor)是MongoDB为文档的扩展而预留的增添空间,由于MongoDB的文档是以次序表的方法存储的,每个文档之间会很是紧凑,如图所示。

(注:图片出处:《MongoDB The Definitive Guide》)

分享 | MongoDb优化指南 

1.元素之间没有多余的可增添空间。

分享 | MongoDb优化指南

2.当我们对次序表中某个元素的巨细举办增添的时辰,就会导致原本分派的空间不敷,只能要求其向后移动。

分享 | MongoDb优化指南

3.当修改元素移动后,后续插入的文档城市提供必然的添补因子,以便于文档频仍的修改,假如没有不再有文档因增大而移动的话,后续插入的文档的添补因子会依此减小。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读