0

假设我有一个包含 50K 行的 Azure 存储表,其中包含这样的实体

 {
  PartitionKey,
  RowKey,
  Name,
  Price
}

查询将是这样的

var query = from entity in dataServiceContext.CreateQuery<MyEntity>(tableName)
                 where entity.Price == 10
                 select new { entity.Name};

当我需要搜索 Price == 10 的所有实体时,交易是否只计算返回的结果数?或者每个实体(entity.Price == 10)的检查是否会被计为单独的读取事务,这会导致 50K 事务?

4

2 回答 2

4

查询本身及其响应将在单个计费事务中(区别于数据库事务)。但是,该响应可能没有您请求的所有行。如果结果集特别大,您将获得一个延续令牌。当您使用延续令牌提取更多行时,将发生另一笔交易。

于 2013-08-20T23:50:28.347 回答
0

那这个呢? http://azure.microsoft.com/en-us/documentation/articles/storage-performance-checklist/#subheading25

每秒实体数(帐户)

对于一个帐户,访问表的可扩展性限制为每秒最多 20,000 个实体(每个 1KB)。通常,插入、更新、删除或扫描的每个实体都计入此目标。因此,包含 100 个实体的批量插入将计为 100 个实体。扫描 1000 个实体并返回 5 个实体的查询将计为 1000 个实体。

无论如何在这里
了解 Windows Azure 存储计费 - 带宽、事务和容量 http://blogs.msdn.com/b/windowsazurestorage/archive/2010/07/09/understanding-windows-azure-storage-billing-bandwidth-transactions-和容量.aspx

于 2015-03-23T18:23:39.447 回答