我使用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))
我的问题是,还有其他方法可以更快地查询数据吗?将查询结果放在列表中会使其变慢吗?我在这里做什么错了?
答案 0 :(得分:0)
您可以做几件事。
对数据建模,以使您不必进行跨分区查询。这些操作将始终花费更多时间,因为您的查询需要触摸数据的更多分区。您可以在这里Model and partition data in Cosmos DB
了解更多信息当您只需要单个项目时,可以通过点读而不是查询read_item
来更快地完成此操作。