mongodb 大量数据查询涉及到多表关联怎么破?

2017-07-01 09:48:53 +08:00
 oyosc

想问下大家 mongodb 大量数据查询的时候,可能会有 10 多个表关联,这个应该怎么办呢?试过 lookup,视图,但都只是两两关联,而且查询速度可想而知会非常慢,这个有什么好的办法解决吗?

9725 次点击
所在节点    MongoDB
8 条回复
gouchaoer
2017-07-01 09:56:56 +08:00
换 mysql
reus
2017-07-01 10:00:15 +08:00
换关系数据库。非关系数据库难当复杂查询的大任,尽早弃用才是。
推荐 postgresql
markocen
2017-07-01 10:09:29 +08:00
非关系型数据库应避免多表关联,建议与 ES
配合使用,或者将查询结果做缓存
t6attack
2017-07-01 10:17:26 +08:00
因为很多项目根本用不到复杂的关联查询,才有了 nosql 数据库。可以大大提高效率。
如果涉及到复杂的多表关联,那就老老实实用关系数据库呗。
billion
2017-07-01 13:22:23 +08:00
专业的工具做专业的事情,多表关联查询本来就不是 MongoDB 的强项。如果你强行要关联查询,那不如上 Pandas
zhpech
2017-07-01 13:36:05 +08:00
其实数据库关联无论在关系型数据库还是非关系型数据库都是一个比较慢的操作……

NoSQL 在设计时就不应该存在太多的关联,如果存在,则应该选择关系型数据库,在设计时一部分可以设计成 subdocument

之前做过一点微小的总结: https://codesky.me/archives/talk-about-mongodb-collection-design.wind
pathbox
2017-07-01 17:31:01 +08:00
多查几次呗
abcfyk
2017-07-01 17:37:18 +08:00
看用途,如果是 OLAP,建议用 mongoDB 的 sub document 来实现。如果是 OLTP...那还是用回 Mysql 吧,还不行的话就上 Impala。我们就是这么干的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/372290

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX