V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zxCoder
V2EX  ›  问与答

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

  •  
  •   zxCoder · 2021-01-26 23:43:28 +08:00 · 1173 次点击
    这是一个创建于 1390 天前的主题,其中的信息可能已经有所发展或是发生改变。
    8 条回复    2021-01-27 11:46:26 +08:00
    Jooooooooo
        1
    Jooooooooo  
       2021-01-26 23:44:38 +08:00
    应用层的资源更便宜, db 尽可能简单
    felixcode
        2
    felixcode  
       2021-01-26 23:48:52 +08:00
    至少得看结果的量,如果传给应用层几万条记录,join 出来几条结果,肯定是数据库来做合适。
    Jacky23333
        3
    Jacky23333  
       2021-01-27 00:42:16 +08:00 via Android
    看结果的量吧,量太大的话还是放数据库做好点,单从结果匹配时间复杂度来看的话,join 是两张表记录的笛卡尔积 n*n,应用层的话 HashMap 都可以直接看成常数级了
    cmdOptionKana
        4
    cmdOptionKana  
       2021-01-27 00:49:59 +08:00 via Android
    先让数据库跑,因为方便,等遇到性能问题再换别的方法。
    akira
        5
    akira  
       2021-01-27 00:51:22 +08:00
    一般情况下 肯定是数据库快呀
    ebingtel
        6
    ebingtel  
       2021-01-27 09:04:49 +08:00
    有好的索引的话,数据库很快 io 压力也小
    Chenamy2017
        7
    Chenamy2017  
       2021-01-27 09:25:51 +08:00
    我一般先让 DB 做,毕竟 DB 的实现肯定优于你自己的实现,如果 DB 性能不够那再说。
    uselessVisitor
        8
    uselessVisitor  
       2021-01-27 11:46:26 +08:00 via Android
    join
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:28 · PVG 03:28 · LAX 11:28 · JFK 14:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.