我有一个 azure 的存储表,它存储从多个源更新的状态。我将分区键作为源 ID(对于每个源来说都是唯一的)。现在,对于任何给定的源 ID,我想访问最后更新的状态。我可以通过按时间戳按降序对分区的结果进行排序并获取第一条记录来做到这一点,但它似乎性能不是很好。每个分区可以有超过 1000 条记录,排序似乎不是最好的方法。
还有其他方法可以有效地实现相同的目标吗?分区中的实体是否已按我可以利用的特定行键排序?
最佳答案
在 RowKey 中插入一个随时间“减少”的值。我用这个:
myentity.RowKey = String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks)
;
现在您可以在主键上使用 where 条件执行选择,然后执行 Take(1)。这将为您提供最新的项目。
关于azure - 查询azure表以获取分区的最后插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36889485/