V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cirton
V2EX  ›  Java

关于多线程的基础使用问题?

  •  
  •   cirton · 2019-05-30 09:23:29 +08:00 · 2755 次点击
    这是一个创建于 2015 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果从数据库中读取十万条数据,使用五个线程读取,需要对每个线程指定要读取的行数吗?比如,给每个线程分配两万条数据? 一般这种情况,使用多线程怎么处理呢?

    9 条回复    2019-05-30 16:10:34 +08:00
    TomVista
        1
    TomVista  
       2019-05-30 10:13:02 +08:00
    除非现在的 sql 查询 是一核有难八方点赞的情况,否则不建议这么干....
    nicebird
        2
    nicebird  
       2019-05-30 10:22:49 +08:00
    先确定瓶颈是什么,再找处理方案。
    airfling
        3
    airfling  
       2019-05-30 11:13:33 +08:00
    你这如果是同一个连接池话还不如一个线程来的快,而且你这个瓶颈没有确定是你应用的瓶颈,还是数据库的瓶颈
    marsgt
        4
    marsgt  
       2019-05-30 11:36:01 +08:00
    可能你读的是别家的数据库吧。。。
    sagaxu
        5
    sagaxu  
       2019-05-30 14:01:09 +08:00 via Android
    你跟 dba 有仇吗?
    cirton
        6
    cirton  
    OP
       2019-05-30 14:25:44 +08:00
    @airfling 这个不是实际的应该场景。。。我只是想知道如果数据量很大,需要多个线程去读取的话,需要给每个线程设定读取范围吗?还是怎么操作?
    yxjn
        7
    yxjn  
       2019-05-30 14:34:43 +08:00
    想到自己当年也有类似的需求,当时是把所有数据全都 load 到内存中,然后再跑多线程处理。也没想过内存溢出的问题。真是初生牛犊不怕虎。
    pursuer
        8
    pursuer  
       2019-05-30 15:23:55 +08:00
    数据量很大似乎和多线程读取没有因果关系,除非分布式的数据库?具体怎么读要看数据库结构的吧
    Beeethoven
        9
    Beeethoven  
       2019-05-30 16:10:34 +08:00
    这种超大数据量瓶颈一般都是你数据库性能吧.. 反正都是单库,5 线程我感觉会更慢呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3381 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 11:43 · PVG 19:43 · LAX 03:43 · JFK 06:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.