Azure TableStorage - Performance

本文关键字:Performance TableStorage Azure | 更新日期: 2023-09-27 18:35:17

>我必须对具有以下设置的 Azure 表存储进行查询:行键、分区键、第三列

RowKey 是唯一的,分区键与第三列相关,这意味着值为"Y"的所有第三列都将具有分区键"X"。

我必须使用第三列值获取具有分区键 X 的所有实体。这不会是高性能的,因为 Y 既不是分区键也不是行键。

问题是:做一个 .FirstOrDefault() 在第三列上,为了获取一个实体(任何实体),然后使用 PartitionKey 进行查询?我认为它会更好,因为这样它就不必在不同的机器上搜索数据。

问候

Azure TableStorage - Performance

为什么不将分区键设置为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() 的方法中