gpt4 book ai didi

MongoDB 游标挂起

转载 作者:行者123 更新时间:2023-12-02 09:22:13 28 4
gpt4 key购买 nike

在处理较大项目数据库的本地副本时,mongodb 游标似乎对于大多数查询都挂起。具体来说,我正在使用 PyMongo,但即使是对集合的简单 count() 也会挂起(所以问题不是 python 问题)。

迭代游标直到它被卡住的点表明它总是发生在同一点(即对于相同的查询) - 之后它只是挂起。尝试cursor.alive表明它确实还活着并且运行良好。

删除和重建索引也没有帮助。

运行 mongodb 版本 2.6.4。和 PyMongo 版本 3.02。该数据库包含大约 120 万个项目。

有人经历过类似的事情吗?谢谢!

最佳答案

我正在处理大数据,在我的实践中也有这样的情况,但原因不同。

以下是 MongoDB 游标挂起的原因:

  • 当机器负载很大或不足以处理这样的大数据时
  • 对没有索引的属性调用 sort() 方法时
  • 当每个文档大小太大并且请求时未设置limit/batchSize

我可以通过在查询中添加 batchSize 来解决这个问题,如下所示:

db.players.find().batchSize(50).limt(10)

有关 MongoDB 批量大小的更多信息,您可以找到 here

关于MongoDB 游标挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30478242/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com