普通的两表连接,是数据库的 join 快呢,还是应用层自己连接快呢?

2021-01-26 23:43:28 +08:00
 zxCoder
1100 次点击
所在节点    问与答
8 条回复
Jooooooooo
2021-01-26 23:44:38 +08:00
应用层的资源更便宜, db 尽可能简单
felixcode
2021-01-26 23:48:52 +08:00
至少得看结果的量,如果传给应用层几万条记录,join 出来几条结果,肯定是数据库来做合适。
Jacky23333
2021-01-27 00:42:16 +08:00
看结果的量吧,量太大的话还是放数据库做好点,单从结果匹配时间复杂度来看的话,join 是两张表记录的笛卡尔积 n*n,应用层的话 HashMap 都可以直接看成常数级了
cmdOptionKana
2021-01-27 00:49:59 +08:00
先让数据库跑,因为方便,等遇到性能问题再换别的方法。
akira
2021-01-27 00:51:22 +08:00
一般情况下 肯定是数据库快呀
ebingtel
2021-01-27 09:04:49 +08:00
有好的索引的话,数据库很快 io 压力也小
Chenamy2017
2021-01-27 09:25:51 +08:00
我一般先让 DB 做,毕竟 DB 的实现肯定优于你自己的实现,如果 DB 性能不够那再说。
uselessVisitor
2021-01-27 11:46:26 +08:00
join

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

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

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

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

© 2021 V2EX