小编Paw*_*ysz的帖子

使用peewee进行多处理的批量插入

我在Python 3.4中使用简单的html scraper,使用peewee作为ORM(很棒的ORM顺便说一句!).我的脚本需要一堆站点,提取必要的数据并将它们保存到数据库中,但是每个站点都在分离过程中被刮掉,以提高性能并保存数据应该是唯一的.不仅在站点之间,而且在特定站点上都可能存在重复数据,因此我只想将它们存储一次.

示例:帖子和类别 - 多对多关系.在抓取过程中,同一类别在不同的帖子中出现多次.我第一次想要将该类别保存到数据库(创建新行).如果相同的类别出现在不同的帖子中,我想将该帖子与db中已创建的行绑定.

我的问题是 - 我是否必须使用原子更新/插入(插入一个帖子,保存,get_or_create类别,保存,将新行插入多对多表,保存)或者我可以以某种方式使用批量插入?这个问题的最快解决方案是什么?也许某些临时表在进程之间共享,这将在工作结束时批量插入?我正在使用MySQL db.

谢谢答案和时间

python mysql bulkinsert multiprocessing peewee

5
推荐指数
1
解决办法
4841
查看次数

标签 统计

bulkinsert ×1

multiprocessing ×1

mysql ×1

peewee ×1

python ×1