请问如何使用使用python实现并行处理
我现在遇到一个工作项目,从数据库表A读取一些数据(大约9000行左右),然后每一行数据都调用python程序FUNC处理,然后再把处理后得到的数据插入表B。使用串行处理很...
我现在遇到一个工作项目,从数据库表A读取一些数据(大约9000行左右),然后每一行数据都调用python程序FUNC处理,然后再把处理后得到的数据插入表B。
使用串行处理很慢,所以现在想使用并行处理,请问我该如何使用python来实现? 展开
使用串行处理很慢,所以现在想使用并行处理,请问我该如何使用python来实现? 展开
1个回答
展开全部
9000 行数据很小了, 慢的话 要是你每条数据处理逻辑都不复杂的话 那就是频繁的读写数据库 耗费了时间 。
1.不知道你是不是读一条 处理一条 入库一条
要是这样 你把逻辑改一下 :新建一个数组,读一条 处理一条 把处理好的数据放到数组中,再接着处理下有一条 ,以此类推,数据字段不多(不要搞得内存溢出)的话, 9000条都可以加载到数组里面了 ,然后利用python executemany(sql,values) 把这个数组一次性插入数据库
2.看看A表的数据能不能分组
例如 假设表A的id字段如下
id
1
2
3
4
5
.。
那么就可以利用id值的奇偶性 分成 2块数据 1,3,5 .---- 2,4
然后python起俩个进程 分别处理这俩块数据 ,根据Abiao实际情况 多分几个数据块 用python多个进程一起处理
祝你好运
1.不知道你是不是读一条 处理一条 入库一条
要是这样 你把逻辑改一下 :新建一个数组,读一条 处理一条 把处理好的数据放到数组中,再接着处理下有一条 ,以此类推,数据字段不多(不要搞得内存溢出)的话, 9000条都可以加载到数组里面了 ,然后利用python executemany(sql,values) 把这个数组一次性插入数据库
2.看看A表的数据能不能分组
例如 假设表A的id字段如下
id
1
2
3
4
5
.。
那么就可以利用id值的奇偶性 分成 2块数据 1,3,5 .---- 2,4
然后python起俩个进程 分别处理这俩块数据 ,根据Abiao实际情况 多分几个数据块 用python多个进程一起处理
祝你好运
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询