首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用peewee进行多处理的批量插入

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

Stack Overflow用户
提问于 2015-01-02 18:54:26
回答 2查看 8.3K关注 0票数 5

我正在使用Python3.4开发简单的html刮板,使用peewee作为ORM (很好的ORM!)。我的脚本需要一堆站点,提取必要的数据并将它们保存到数据库中,但是每个站点都是在分离的过程中被刮掉的,以提高性能,保存的数据应该是唯一的。有重复的数据不仅可以在网站之间,而且在特定的网站上,所以我只想存储它们一次。

例如:职位和类别-多到多的关系。在抓取过程中,同一类别在不同的帖子中出现多次。这是我第一次将该类别保存到数据库中(创建新行)。如果同一类别出现在不同的post中,我希望将该帖子绑定到db中已经创建的行中。

我的问题是:我必须使用原子更新/插入(插入一个帖子、保存、get_or_create类别、保存、向多个表插入新行、保存)还是可以以某种方式使用大容量插入?解决这个问题最快的办法是什么?也许在进程之间共享一些临时表,这些表将在工作结束时进行批量插入?我在使用MySQL db。

答案和你的时间

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-02 19:35:48

票数 1
EN

Stack Overflow用户

发布于 2021-10-05 16:13:13

我自己找了一会儿,但找到了!

您可以使用on_conflict_replace()或on_conflict_ignore()函数来定义具有唯一性约束的表中存在记录时的行为。

代码语言:javascript
运行
复制
PriceData.insert_many(values).on_conflict_replace().execute()

代码语言:javascript
运行
复制
PriceData.insert_many(values).on_conflict_ignore().execute()

"Upsert“这里下的更多信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27747096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档