【发布时间】:2016-02-18 21:08:13
【问题描述】:
我有一个存储表,它是关注另一个特定用户的用户的索引。为此,我已根据this post 上的指南将 PartitionKey 设置为被关注用户的 id,并将 RowKey 设置为他们关注的日期的刻度,并附加以下用户的 id。这很好用。这是它的外观示例。
// FollowerIndex
PartitionKey RowKey
56138dad-e2db-43ac-8ffe-eac4846bf01a 2519471107153765942_31d4d0e5-2e48-489f-99fd-ead58a5fd480
56138dad-e2db-43ac-8ffe-eac4846bf01a 2519471107153765942_32fd17ec-fac2-44f8-986e-4e1fc8a05751
56138dad-e2db-43ac-8ffe-eac4846bf01a 2519471107153765942_f9816107-23ea-4ed7-a900-7465c0d10f50
f9816107-23ea-4ed7-a900-7465c0d10f50 2519471107153789651_32fd17ec-fac2-44f8-986e-4e1fc8a05751
我现在的问题是我需要查找一个给定的用户 ID 是否是另一个给定用户 ID 的追随者。为此,我希望有一个可以使用的EndsWith 查询,以便我可以使用点查询来提高性能,因为可能会进行大量的“跟随者检查”。情况似乎并非如此。
// request.UserId = "56138dad-e2db-43ac-8ffe-eac4846bf01a";
// request.FollowerUserId = "31d4d0e5-2e48-489f-99fd-ead58a5fd480";
var query = TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equals, request.UserId),
TableOperators.And,
TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.???, request.FollowerUserId)
);
我正在考虑添加第二个无序索引,其中包含 RowKey 作为以下用户的 ID,仅用于查找。有没有办法实现我最初的意图,或者为此有两个索引会更好(在性能和可伸缩性方面)?
感谢任何帮助。
【问题讨论】:
标签: azure azure-storage azure-table-storage