牛叔叔 的笔记

好好学习

2023-01-31 12:31

扩展引用模式--MongoDB数据模型设计模式

牛叔叔

数据库

(488)

(0)

收藏

示例描述

MongoDB 是一个不需要提前建模的 NoSQL,当不同文档、不同集合之间存在关系的时候,通常会有嵌入和引用两种方式。

嵌入就是将文档数据嵌入到引用此数据的文档中,访问时直接访问这一次文档即可;引用就是只在文档中引用另一个文档的标识,访问时需要访问两次数据库才能拿到完整的数据。

扩展引用模式是指仅复制经常访问并且不经常更改的字段,而不是复制所有的数据,减少信息的连接以提高性能。

扩展引用模式引用数据

这张图的场景是:客户和订单是 1 对 N 的关系,通常查询订单列表的时候需要展示客户的一些信息,我们就需要考虑是否将客户的信息冗余进订单信息中。

扩展引用模式认为,客户的名称和地址是不常做更新的,可以直接将这些信息冗余进订单表中,以达到减少两个集合连接查询的要求。

优缺点

扩展引用模式的优点如下:

  • 当有大量的 JOIN 操作时可以提升性能

  • 读操作会更快,并且可以减少 JOIN 操作的数量

扩展引用模式的缺点如下:

  • 修改冗余的这部分数据会比较复杂


0条评论

点击登录参与评论