python多进程、多线程、协程向mysql插入10000条数据
来源:互联网 发布:办公室网络综合布线 编辑:程序博客网 时间:2024/06/18 06:15
使用python多进程、多线程、协程向mysql插入10000条数据
使用futures的ProcessPoolExecutor进程池
import pymysqlimport time, requestsfrom concurrent.futures import ProcessPoolExecutordef data_handler(urls): conn = pymysql.connect(host='172.18.3.204',user='root',password='xinwei',database='btree',charset='utf8') cursor = conn.cursor() for i in range(urls[0],urls[1]): sql = 'insert into aaa(sid,name,email) values(%s,%s,concat(%s,"hael","@163"));' res = cursor.execute(sql,[i,"root",i]) conn.commit() cursor.close() conn.close()def run(): urls = [(1,2000),(2001,5000),(5001,8000),(8001,10000)] with ProcessPoolExecutor() as excute: excute.map(data_handler,urls) ##ProcessPoolExecutor 提供的map函数,可以直接接受可迭代的参数,并且结果可以直接for循环取出if __name__ == '__main__': start_time = time.time() run() stop_time = time.time() print('run time is %s' % (stop_time - start_time))
使用协程gevent执行
from gevent import monkey;monkey.patch_all()import geventimport requestsimport timeimport pymysqldef data_handler(anum,num): conn = pymysql.connect(host='172.18.3.204',user='root',password='xinwei',database='btree',charset='utf8') cursor = conn.cursor() for i in range(anum,num): sql = 'insert into aaa(sid,name,email) values(%s,%s,concat(%s,"hael","@163"));' res = cursor.execute(sql,[i,"root",i]) conn.commit() cursor.close() conn.close()start_time=time.time()gevent.joinall([ gevent.spawn(data_handler,1,2000), gevent.spawn(data_handler,2001,5000), gevent.spawn(data_handler,5001,8000), gevent.spawn(data_handler,8001,10000),])stop_time=time.time()print('run time is %s' %(stop_time-start_time))
阅读全文
0 0
- python多进程、多线程、协程向mysql插入10000条数据
- 使用 MySQLi 和 PDO 向 MySQL 插入多条数据
- php预处理方式向mysql中插入多条数据
- Python向MySQL批量插入数据
- Python向mysql数据库插入数据
- php向mysql数据库中插入数据(单条和多条)
- 向数据库中插入多条数据
- 数据库新增向父表插入单条数据向子表插入多条数据
- mysql中向数据库中插入多条数据的方法
- python向mySQL批量插入数据的方法
- python使用MySQLdb向mySQL批量插入数据的方法
- python向MySQL批量插入数据的方法
- 向SQL数据库中插入多条数据
- 【SQL】如何一次(一条SQL语句)向ORACLE中插入多组/多条数据,不同于mysql
- mysql 单条insert语句,插入多条数据记录
- MySQL 单条语句 插入多条数据
- Python mysql插入数据
- python 插入mysql数据
- 输出价格相同的书名
- 字符串数组初始化相关问题总结
- [算法分析与设计] leetcode 每周一题: 420. Strong Password Checker
- 实验八 常见网络测试命令--自我操作
- 延拓版扫雷
- python多进程、多线程、协程向mysql插入10000条数据
- QA(二):利用Attention机制,带着问题阅读
- smo_sensorless pmsm控制中滑模增益K的选取
- ==和equals区别&comparable和comparator区别
- BZOJ1007 [HNOI2008]水平可见直线 贪心+栈
- 快速排序java实现
- HTML5 移动端 手指事件
- 空间适配器
- 搭建一个redis高可用系统