• 请不要在回答技术问题时复制粘贴 AI 生成的内容
fallenff
V2EX  ›  程序员

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

  •  
  •   fallenff · Aug 25, 2017 · 4320 views
    This topic created in 3361 days ago, the information mentioned may be changed or developed.

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

    12 replies  •  2017-08-25 16:21:22 +08:00
    ballshapesdsd
    ballshapesdsd
    Aug 25, 2017❤️1
    1
    何出此言。。
    loveCoding
    loveCoding
    Aug 25, 2017
    2
    现在确实比较推荐单表查询 , 把 sql 查询逻辑转移到代码中 , 后期分库分表的话不用改啥代码 .
    但是....绝大多数项目到不了分库分表的数据量就挂了...
    l00t
    l00t
    Aug 25, 2017
    3
    多。Databases are born to join.
    lrh3321
    lrh3321
    Aug 25, 2017
    4
    用的 MongoDB,大多数情况下是查一个 Collection 搞定,多表查询的逻辑在代码里。
    reus
    reus
    Aug 25, 2017
    5
    大错特错
    在某些垃圾数据库里虽然正确
    但你可以选择不用垃圾啊
    yulitian888
    yulitian888
    Aug 25, 2017
    6
    把 NoSQL 思想放到 SQL 里就是个错误。反之亦然。两者是互补,而不是替代关系
    yulitian888
    yulitian888
    Aug 25, 2017
    7
    补充一下,如果对表以行为单位做缓存处理的话,join 确实会很蛋疼。但是这个场景很常见,但是属于程序逻辑,而不是 SQL 该处理的事。这种场景依然可以选择对 join 的结果集进行缓存
    jko123
    jko123
    Aug 25, 2017
    8
    hive 用多了,基本都用 join
    MarcoQin
    MarcoQin
    Aug 25, 2017
    9
    看慢查询日志,如果 join 让你变慢了那就换
    但是如 2 楼所说,一般到不了那种量级项目就挂了 233
    yscg
    yscg
    Aug 25, 2017
    10
    join 还是单表,没有优劣之分,知道做一种选择带来的成本和利好更重要。
    akira
    akira
    Aug 25, 2017
    11
    赞同。 很多人的 join 代码写不好,索引做不好。这种情况下,还不如直接让他们不要用
    Charkey
    Charkey
    Aug 25, 2017
    12
    赞同 2 楼的观点
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1899 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 150ms · UTC 09:04 · PVG 17:04 · LAX 01:04 · JFK 04:04
    ♥ Do have faith in what you're doing.