大家平时写 SQL 用连接查询 or 子查询多吗?

2017-08-25 11:34:24 +08:00
 fallenff

今天听人说查询尽量少用连接查询,避免连接大表。 相应的来查询两次来代替连接查询,不知道这个说法是否正确?

3523 次点击
所在节点    程序员
12 条回复
ballshapesdsd
2017-08-25 11:36:43 +08:00
何出此言。。
loveCoding
2017-08-25 11:43:51 +08:00
现在确实比较推荐单表查询 , 把 sql 查询逻辑转移到代码中 , 后期分库分表的话不用改啥代码 .
但是....绝大多数项目到不了分库分表的数据量就挂了...
l00t
2017-08-25 11:44:44 +08:00
多。Databases are born to join.
lrh3321
2017-08-25 11:49:51 +08:00
用的 MongoDB,大多数情况下是查一个 Collection 搞定,多表查询的逻辑在代码里。
reus
2017-08-25 12:00:28 +08:00
大错特错
在某些垃圾数据库里虽然正确
但你可以选择不用垃圾啊
yulitian888
2017-08-25 12:04:21 +08:00
把 NoSQL 思想放到 SQL 里就是个错误。反之亦然。两者是互补,而不是替代关系
yulitian888
2017-08-25 12:06:58 +08:00
补充一下,如果对表以行为单位做缓存处理的话,join 确实会很蛋疼。但是这个场景很常见,但是属于程序逻辑,而不是 SQL 该处理的事。这种场景依然可以选择对 join 的结果集进行缓存
chen2016
2017-08-25 12:22:27 +08:00
hive 用多了,基本都用 join
MarcoQin
2017-08-25 12:59:40 +08:00
看慢查询日志,如果 join 让你变慢了那就换
但是如 2 楼所说,一般到不了那种量级项目就挂了 233
yscg
2017-08-25 13:06:32 +08:00
join 还是单表,没有优劣之分,知道做一种选择带来的成本和利好更重要。
akira
2017-08-25 16:17:45 +08:00
赞同。 很多人的 join 代码写不好,索引做不好。这种情况下,还不如直接让他们不要用
Charkey
2017-08-25 16:21:22 +08:00
赞同 2 楼的观点

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

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

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

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

© 2021 V2EX