mongodb 带有Pymongo的DocumentDB查询速度非常慢

k10s72fa  于 2022-12-18  发布在  Go
关注(0)|答案(1)|浏览(288)

我将SageMaker笔记本与DocumentDB数据库一起使用。我在DocumentDB所在的VPC中运行我的笔记本,但是检索数据需要花费大量时间。我的集合中大约有6万个文档。请考虑下面的代码:

numbers = []
for x in collection.find({},{'number':1}):
   numbers.append(x)

字段number只是一个字符串,用于标识另一个数据库中的文档。正如我所说的,它应该返回一个包含大约6万个字符串的列表。不是很大。然而,它需要很长的时间来运行(超过10分钟)。这在DocumentDB中正常吗?可能发生了什么?当在我的机器上本地使用MongoDB时,这曾经快得多。

ef1yzkbh

ef1yzkbh1#

首先,没有过滤器的查询是一个集合扫描。根据工作集大小(那些文档有多大)和您使用的示例大小,结果可能没有缓存,因此比您在本地机器上使用的要慢。尝试强制使用_id索引,它可能会提高查询速度,如下所示:

for x in collection.find({'_id': {'$gt': 0}},{'number':1}):

相关问题