更快的宇宙DB查询

时间:2020-08-09 15:20:05

标签: python azure-cosmosdb

我使用SQL API遵循了来自cosmos db example的示例,但是获取数据的速度很慢。我正在尝试获取一个星期的数据(大约100万条记录)。下面的示例代码。

client = cosmos_client.CosmosClient(HOST, {'masterKey': KEY})
database = client.get_database_client(DB_ID)
container = database.get_container_client(COLLECTION_ID)

query = """
SELECT some columns
FROM c
WHERE columna = 'a'
and columnb >= '100'
"""

result = list(container.query_items(
         query=query, enable_cross_partition_query=True))

我的问题是,还有其他方法可以更快地查询数据吗?将查询结果放在列表中会使其变慢吗?我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

您可以做几件事。

对数据建模,以使您不必进行跨分区查询。这些操作将始终花费更多时间,因为您的查询需要触摸数据的更多分区。您可以在这里Model and partition data in Cosmos DB

了解更多信息

当您只需要单个项目时,可以通过点读而不是查询read_item

来更快地完成此操作。