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

2019-05-30 09:23:29 +08:00
 cirton

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

2599 次点击
所在节点    Java
9 条回复
TomVista
2019-05-30 10:13:02 +08:00
除非现在的 sql 查询 是一核有难八方点赞的情况,否则不建议这么干....
nicebird
2019-05-30 10:22:49 +08:00
先确定瓶颈是什么,再找处理方案。
airfling
2019-05-30 11:13:33 +08:00
你这如果是同一个连接池话还不如一个线程来的快,而且你这个瓶颈没有确定是你应用的瓶颈,还是数据库的瓶颈
marsgt
2019-05-30 11:36:01 +08:00
可能你读的是别家的数据库吧。。。
sagaxu
2019-05-30 14:01:09 +08:00
你跟 dba 有仇吗?
cirton
2019-05-30 14:25:44 +08:00
@airfling 这个不是实际的应该场景。。。我只是想知道如果数据量很大,需要多个线程去读取的话,需要给每个线程设定读取范围吗?还是怎么操作?
yxjn
2019-05-30 14:34:43 +08:00
想到自己当年也有类似的需求,当时是把所有数据全都 load 到内存中,然后再跑多线程处理。也没想过内存溢出的问题。真是初生牛犊不怕虎。
pursuer
2019-05-30 15:23:55 +08:00
数据量很大似乎和多线程读取没有因果关系,除非分布式的数据库?具体怎么读要看数据库结构的吧
Beeethoven
2019-05-30 16:10:34 +08:00
这种超大数据量瓶颈一般都是你数据库性能吧.. 反正都是单库,5 线程我感觉会更慢呢

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

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

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

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

© 2021 V2EX