【问题标题】:Run an Azure Table Storage Query w/o PartitionKey运行没有 PartitionKey 的 Azure 表存储查询
【发布时间】:2016-06-18 16:33:43
【问题描述】:

是否可以在不使用 PartitionKey 的情况下对 Azure 表存储表运行查询。例如,我会说,RowKey 以但不使用 PartitionKey 开头

两个问题:

  1. 可以这样做吗?
  2. 这样做是个好主意吗?我担心即使有可能,它也可能会带来性能损失。

【问题讨论】:

    标签: azure-table-storage azure-tablequery


    【解决方案1】:

    我找到了这个问题的答案。

    简短的回答是肯定的,可以在不使用 PartitionKey 的情况下运行查询,但不应该使用!

    没有 partitionKey 的查询将执行表扫描,并且根本没有效率。 值得一提的是,即使查询中使用了 rowKey,没有 partitionKey 的查询也会执行表扫描。

    以下是解释所有这些的 Microsoft 文章: https://azure.microsoft.com/en-us/documentation/articles/storage-table-design-guide/

    【讨论】:

    • 如您所见,这会导致表(或分区)扫描。但是,只是为了完整性;如果您的表(或分区)不是太大,它可能对您来说足够快。考虑到替代方案(具有不同索引的数据的单独副本、单独的索引表或另一个数据库(如 db)中的单独索引)都是艰苦的工作,不要过早地优化:)
    猜你喜欢
    • 2016-07-27
    • 2012-08-11
    • 1970-01-01
    • 2020-03-01
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    相关资源
    最近更新 更多