0

我正在尝试实现如下结构:属性名称为“u:uid”,以便我可以执行类似 [(u:112 eq 1) 或 (u:118 eq 1) 或 (u:119 eq) 的查询1)]。它可能会完成工作,只是我担心它不适合搜索数百个 uid 之类的情况。当应用程序增长时,“列”的数量可以增长到数万。任何熟悉 azure table 架构的人都可以对此有所了解吗?是否有替代方法来实现相同的结构?

4

1 回答 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 回答