首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用MySQL将MongoDB数据库传输到MongoEngine?

如何使用MySQL将MongoDB数据库传输到MongoEngine?
EN

Stack Overflow用户
提问于 2017-03-12 12:32:11
回答 1查看 64关注 0票数 0

我在MongoDB中有一个现有的集合,我需要通过从MySQL表中获取值来更新某些文档。

目前,我正在使用下面的python代码来使用MongoEngine更新集合,但是由于数据集非常大,它需要花费很多时间(集合中的2m+文档,需要更新其中的80k+文档)

代码语言:javascript
复制
query = "Select * from business"
cursor.execute(query)
for line in cursor:
    Movie.objects(movieid=line[0]).first().update(set__business=line[1])

虽然更新早期文档(如前5k文档)所花费的时间非常少,但当它开始超越这一点时,就会花费很长时间。我的假设是,它每次都会从一开始就开始寻找记录。它可以通过某种方式进行优化,因为MySQL表记录是有序的。

是否有一种方法可以在集合中搜索,以便下一个循环从上次更新的文档开始?使用MongoDB更新MongoEngine集合的最佳方法是什么?

(附加信息:插入2m+记录大约需要2小时,而更新80k记录则需要25小时)

EN

Stack Overflow用户

回答已采纳

发布于 2017-03-12 16:09:06

movieid上的索引添加到集合中,以加快对该字段的更新。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42747412

复制
相关文章

相似问题

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