这些天来,在我们的cosmos数据库中,我们有未分区的集合,并且最近将我们的应用程序数据移到了分区的集合中,以克服单个分区的10GB上限。
在引入分区之后,我们几乎没有注意到。
ResourceResponse.ContentLocation属性返回null。 (通常会以非分区集合的形式返回集合路径,例如“ dbs / developmentdb / colls / accountmodel”作为值)
用于“ GetAll” 查询(在分区和非分区集合中都提供相同的数据)
以下提供的代码供您参考。感谢您减少RU并提高响应时间(OR)的任何建议,这些都是转移到分区集合的开销吗?请建议
使用的示例代码:
var docClient = await _documentClient;
var docDb = await _documentDatabase;
var docCollection = await _documentCollection;
var queryFeed = new FeedOptions()
{
MaxItemCount = -1,
MaxDegreeOfParallelism = -1,
EnableCrossPartitionQuery = true
};
var documentCollectionUri = UriFactory.CreateDocumentCollectionUri(docDb.Id, docCollection.Id);
IDocumentQuery<T> query = docClient.CreateDocumentQuery<T>(documentCollectionUri, queryFeed).AsDocumentQuery();
while (query.HasMoreResults)
{
var page = await query.ExecuteNextAsync<T>();
result.AddRange(page);
_rULogHelper.LogFromFeedResponse(page, docDb.Id, docCollection.Id, DBOperationType.GET.ToString()); //custom logging related code
}