开发者社区> 问答> 正文

MongoDB 聚合框架基本使用操作中为什么只有左外连接?

MongoDB 聚合框架基本使用操作中为什么只有左外连接?

展开
收起
不变的狗子 2021-09-28 12:00:31 1076 0
1 条回答
写回答
取消 提交回答
  • 热爱技术

    ·原因一:反范式设计; ·原因二:读取效率低下; ·原因三:分布式环境; image.png

    MongoDB 里面连接 Join 操作只有左外连接,因为 Join 这种操作上是违反 MongoDB设计的初衷的,这样操作 经常要对两个表的不同数据进行连接操作,这些数据在 物理存储的时候,通常不是在相邻的区域里面,读取的 效率比较低。 此外 MongoDB 是一个分布式的环境,校验操作的左 右两边如果都是一个分片的表,当进行 Join 操作的时 候,左边有一个又有一条数据,它可能在分片一上要连 接的一个数据可能在分片二上,下一条数据可能又是另 外一种情况,这种情况下数据库很难保证整个操作的性 能。 基于这些原因,MongoDB 只提供左外连接,并且要求 From 表不能是分片表,左边的表主表可以是分片表, 在 SQL 里面会使用类似于左边这样的一个查询语句。

    资源来源:电子书《玩转MongoDB从入门到实战》,下载链接:https://developer.aliyun.com/topic/download?id=1060

    2021-09-28 12:01:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
MongoDB多数据中心的方案选型之路 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载