社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MongoDB

慢速CosmosDB Mongodb查询

Darthg8r • 4 年前 • 430 次点击  

我正在使用MongoDB api访问Azure上的CosmosDb。我收集了几千份文件。

它们的形状如下:

{
    "_id" : ObjectId("5b4f574ac2100c890805a7d8"),
    "id" : 12,
    "name" : "Spotted Owl",
    "overview" : "Some Overview text",
    "family" : "Barn Owls, Typical Owls (Tytonidae & Strigidae)",
    "latinName" : "Strix occidentalis"
}

我需要在$in查询中使用大量的“id”来查询文档。查询很简单,

// The "$in" list can be 1000 items long.
db.MyCollection.find({"id": {$in: [1,2,3,4,5,6...]}})

我有一个非唯一索引(可能应该是唯一的):

{
     "id" : 1
}

结果是,包含1000个项的查询需要20秒或更长时间才能返回。如果我只是用以下方法获取所有文档:

db.MyCollection.find({});

结果不到一秒钟就出来了。

此外,如果我对本地本地Mongo实例运行相同的测试,两个查询将在一秒钟内返回。

在Azure/CosmosDb方面,我遗漏了什么可能导致所有这些减速?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52831
 
430 次点击  
文章 [ 1 ]  |  最新文章 4 年前
CHEEKATLAPRADEEP-MSFT
Reply   •   1 楼
CHEEKATLAPRADEEP-MSFT    5 年前

Azure Cosmos DB是速率受限的(请参见 https://docs.microsoft.com/en-us/azure/cosmos-db/set-throughput )因此,如果你正在进行某种大型查询,并且你已经将RU/s速率设置得非常低,那么你将从CosmosDB得到令人吃惊的缓慢结果。

尝试更改RU/s速率并检查性能是否变化。

希望这有帮助。