【发布时间】:2019-07-28 20:55:23
【问题描述】:
我将把这个问题分成两部分。
我有类似的代码
for data in data_list:
rslt = query in databae where data == 10 # just some pseudo database query to give example but this single query usually takes around 30-50seconds.
if rslt.property == 'some condition here':
return rslt
这里的条件是
- 我们必须在查询后返回
data_list中与条件匹配的第一个元素。 - 每个元素的每个数据库查询大约需要 30-40 秒。
-
data_list通常很大,大约 15-20k 个元素 - 很遗憾,我们无法对整个
data_list进行单个数据库查询。我们必须循环执行此操作,或者一次执行一个元素。
现在我的问题是,
- 如何优化此过程。目前,整个过程大约需要 3-4 小时。
- 我阅读了有关 python 线程和多处理的文章,但我不知道在这种情况下哪一个更合适。
【问题讨论】:
标签: python multithreading parallel-processing multiprocessing python-multiprocessing