我需要知道 Azure 存储表是否已将 RowKey 与 PartitionKey 分开编制索引,以便进行此类查询...

假设:我的表中的论坛帖子具有 PartitionKey = UserEMail,RowKey = PostInstant。所以,我想这样查询......

SELECT data FROM forum WHERE PartitionKey="[email protected]" AND RowKey < DateLimit;

(注意:我知道 PostInstant 应该写成“反转”以利用升序排序,从而按降序获得它,这不是重点)。

据我了解,通过明确指示 PartitionKey,查询在性能路径上进展顺利,但在那之后......是否会智能地使用 RowKey 来 a) 对结果进行排序和 b) 在达到 DateLimit 后停止扫描?

或者,换句话说,Azure 存储表索引是否适用于 PartitionKey+RowKey 的串联,因此仅适用于精确行匹配和全表排序?

最佳答案

是的,您编写的查询与针对 Azure 表编写的查询一样有效,并且它应该使用 PartitionKeyRowKey 的索引。

保证您的结果以 PartitionKeyRowKey 顺序返回。

关于indexing - Azure 存储表是否已单独索引 RowKey 以在子分区查询中利用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7576277/

10-11 01:48