小编Rob*_*Rob的帖子

Python + MongoDB - 游标迭代太慢 - 未解决?

我有一个数据库查找查询,它返回 150k 文档,其中每个文档包含三个整数字段和一个日期时间字段。以下代码尝试从光标对象创建一个列表。迭代光标非常慢 - 大约 80 秒!通过 C++ 驱动程序进行相同的操作要快几个数量级 - 这一定是 PyMongo 的问题?

client = MongoClient()
client = MongoClient('localhost', 27017)
db = client.taq
collection_str = "mycollection"
db_collection = db[collection_str]

mylist = list(db_collection.find())
Run Code Online (Sandbox Code Playgroud)

这个问题之前已经讨论过,我尝试了这些建议。一是更改默认批量大小。所以我尝试了以下方法:

cursor = db_collection.find()
cursor.bath_size(10000)
mylist = list(cursor)
Run Code Online (Sandbox Code Playgroud)

然而,这没有影响。第二个建议是检查 C 扩展是否已安装 - 我已经安装了它们,所以这不是问题。Mongo 数据库安装在同一台机器上,因此这不是网络问题 - 它在 C++ 中工作正常......从 Pymongo 查询是问题。

既然 MongoDB 被宣传为能够处理大数据,那么肯定有一种方法可以通过 Python 快速检索数据吗?这个问题以前已经提出过,但我还没有找到解决方案......有人有有效的建议吗?在这种情况下,我将检索 15 万个文档,但通常查询将检索 100 万个文档,因此这对我来说将是一个真正的问题。

谢谢。

python mongodb pymongo

6
推荐指数
1
解决办法
4072
查看次数

标签 统计

mongodb ×1

pymongo ×1

python ×1