3回答

0收藏

scrapy-redis 每小时抓取百万数据,该如何快速插入mysql表中?

问答交流 问答交流 2364 人阅读 | 3 人回复 | 2020-07-10


目前写的爬虫每小时采集量在150万左右,但是在插入mysql数据库时确花了8小时,令人发指,已使用了
from twisted.enterprise import adbapi
的异步插入,每个事务有5条sql语句,分别插入到5张关系表中,先存前3张不关联的表,成功插入后获取到id值,再插入到后两张表中。

想请教各位:这种情况我该怎么提高插入速度?

试过异步批量插入1000条数据,但出现了死锁问题!
分享到:
回复

使用道具 举报

回答|共 3 个

zengyd

发表于 2020-7-10 16:21:20 | 显示全部楼层

pymysql里面有个manyinsert,这个不知道楼主说过没有
回复

使用道具 举报

loyalist

发表于 2020-7-10 18:52:31 | 显示全部楼层

试过的,效果没提高多少
回复

使用道具 举报

yagamil

发表于 2020-9-9 20:54:19 | 显示全部楼层

优化sql语句和写入逻辑,能用1句sql的就不要用多句。 可以试试dbutil这个连接池。
回复

使用道具 举报