我正在尝试实现如下结构:属性名称为“u:uid”,以便我可以执行类似 [(u:112 eq 1) 或 (u:118 eq 1) 或 (u:119 eq) 的查询1)]。它可能会完成工作,只是我担心它不适合搜索数百个 uid 之类的情况。当应用程序增长时,“列”的数量可以增长到数万。任何熟悉 azure table 架构的人都可以对此有所了解吗?是否有替代方法来实现相同的结构?
问问题
99 次
1 回答
1
所以这里有几件事:
- 你不能用 a
:
来命名你的属性。 - 假设
u
是表中的一个属性名称,仅对其进行查询将导致全表扫描,因为您的查询不包括PartitionKey
. 虽然如果您的桌子很小,这可能不是问题,但是随着您的桌子变大,它会产生很多问题。
如果uid
是唯一的,我建议您将其值设置为 PartitionKey 然后您可以像这样查询
(PartitionKey eq '112') or (PartitionKey eq '118') or (PartitionKey eq '119')
我强烈建议在继续之前阅读 Windows Azure 存储团队的这篇博文:http: //blogs.msdn.com/b/windowsazurestorage/archive/2010/11/06/how-to-get-most-out-of- windows-azure-tables.aspx。
于 2013-10-18T05:44:37.367 回答