分享 | MongoDb优化指南
从机能优化的角度来看,荟萃的计划我们必要思量的是荟萃中数据的常用操纵,譬喻我们必要计一律个日记(log)荟萃,日记的查察频率不高,但写入频率却很高,那么我们就可以获得这个荟萃中常用的操纵是更新(增编削)。假如我们要生涯的是都市列表呢?显而易见,这个荟萃是一个查察频率很高,但写入频率很低的荟萃,那么常用的操纵就是查询。 对付频仍更新和频仍查询的荟萃,我们最必要存眷的重点是他们的范式化水平,在上篇范式化与反范式化的先容中我们相识到,范式化与反范式化的公道运用对付机能的进步至关重要。然而这种计划的行使很是机动,假设此刻我们必要存储一篇图书及其作者,在MongoDB中的关联就可以浮现为以下几种情势: 1、完全疏散(范式化计划) 示例1:
我们将作者(comment) 的id数组作为一个字段添加到了图书中去。这样的计划方法是在非相关型数据库中常用的,也就是我们所说的范式化计划。在MongoDB中我们将与主键没有直接相关的图书单独提取到另一个荟萃,用存储主键的方法举办关联查询。当我们要查询文章和评述时必要先查询到所需的文章,再从文章中获取评述id,最后用得到的完备的文章及其评述。在这种环境下查询机能显然是不抱负的。但当某位作者的信息必要修改时,范式化的维护上风就凸显出来了,我们无需思量此作者关联的图书,直接举办修改此作者的字段即可。 2、完全内嵌(反范式化计划) 示例2:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |