最有效的多线程SQL(Java)方法

6
首先,我知道这个问题有点宽泛和基于观点,但我只想得到一个简单的答案,即如何在Java中使用最佳实践进行多线程应用程序,并使用SQL查询。
我正在制作一个程序,需要在每次主线程迭代时从MySQL数据库同步数据。我想用多线程来运行这个程序,以便长时间查询不会阻塞主线程并减慢其“tick”速率。
我不太擅长用语言解释我想出的解决方案,因此我制作了这个图像,希望能更好地解释它们。 enter image description here 这些方法中是否有任何一种是“正确”的方法?
我记得可能会发送多个查询,然后在最后等待结果,这是否可行,一次应发送多少个查询?
是否应该为每个查询使用单独的线程?如果是这样,如何使其更快,因为我知道创建线程的开销相当大。
感谢您阅读我表述不清且极长的问题,感谢您提前的任何帮助。
1个回答

1
MySQL可以并行执行查询,但并不是很多(我认为10-15个)。因此,我会创建一个由10-15个线程组成的池,具有用于查询的共同阻塞队列,每个线程都有自己的数据库连接。每个工作线程执行一个循环:获取下一个查询,访问数据库,以某种方式返回结果。尝试调整线程数量以找到最佳值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接