zxCoder
V2EX  ›  问与答

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

  •  
  •   zxCoder · Jan 26, 2021 · 1589 views
    This topic created in 1956 days ago, the information mentioned may be changed or developed.
    8 replies    2021-01-27 11:46:26 +08:00
    Jooooooooo
        1
    Jooooooooo  
       Jan 26, 2021
    应用层的资源更便宜, db 尽可能简单
    felixcode
        2
    felixcode  
    PRO
       Jan 26, 2021
    至少得看结果的量,如果传给应用层几万条记录,join 出来几条结果,肯定是数据库来做合适。
    Jacky23333
        3
    Jacky23333  
       Jan 27, 2021 via Android
    看结果的量吧,量太大的话还是放数据库做好点,单从结果匹配时间复杂度来看的话,join 是两张表记录的笛卡尔积 n*n,应用层的话 HashMap 都可以直接看成常数级了
    QingXuJiaZhi
        4
    QingXuJiaZhi  
       Jan 27, 2021 via Android
    先让数据库跑,因为方便,等遇到性能问题再换别的方法。
    akira
        5
    akira  
       Jan 27, 2021
    一般情况下 肯定是数据库快呀
    ebingtel
        6
    ebingtel  
       Jan 27, 2021
    有好的索引的话,数据库很快 io 压力也小
    Chenamy2017
        7
    Chenamy2017  
       Jan 27, 2021
    我一般先让 DB 做,毕竟 DB 的实现肯定优于你自己的实现,如果 DB 性能不够那再说。
    zm8m93Q1e5otOC69
        8
    zm8m93Q1e5otOC69  
       Jan 27, 2021 via Android
    join
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3218 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 03:05 · PVG 11:05 · LAX 20:05 · JFK 23:05
    ♥ Do have faith in what you're doing.