Azure TableStorage - Performance
本文关键字:Performance TableStorage Azure | 更新日期: 2023-09-27 18:35:17
>我必须对具有以下设置的 Azure 表存储进行查询:行键、分区键、第三列
RowKey 是唯一的,分区键与第三列相关,这意味着值为"Y"的所有第三列都将具有分区键"X"。
我必须使用第三列值获取具有分区键 X 的所有实体。这不会是高性能的,因为 Y 既不是分区键也不是行键。
问题是:做一个 .FirstOrDefault() 在第三列上,为了获取一个实体(任何实体),然后使用 PartitionKey 进行查询?我认为它会更好,因为这样它就不必在不同的机器上搜索数据。
问候
为什么不将分区键设置为X和Y的组合值?喜欢"MyValueofX_MyValueofY"?
或者,如果在查询时没有 X 的值,只需使用不同的顺序复制信息,例如:
PK: XRK: Z列:Y
PK: YRK: Z列: X
这样,您可以在有 X 和有 Y 时查询记录。
检查设计可扩展分区策略。
我想
你可以看看下面的文章:
https://msdn.microsoft.com/en-us/library/azure/dd894039.aspx
并尝试以下代码以获取前 1 个实体:
var query = (from entity in context.CreateQuery<Customer>("Top1Customers")
select entity).Take(1);
然后你可以把它写到一个名为 First() 的方法中