代码之家  ›  专栏  ›  技术社区  ›  Ryan Elkins

Windows Azure表存储LINQ运算符

  •  4
  • Ryan Elkins  · 技术社区  · 15 年前

    当前表存储支持From、Where、Take和First。

    是否有计划支持其他29个运营商?

    为了实现计数、求和、分组等功能,是否有与存储相关的体系结构或设计实践?

    如果我们必须自己为这些代码,那么通过SQL和SQL Server我们看到的性能差异有多大?你看到它有点可比性吗?如果我需要对一个巨大的数据集进行计数、求和或分组,它会慢得多吗?

    我喜欢Azure平台和基于云的存储的想法。我喜欢表存储,因为它可以存储的数据量和无模式的性质。由于存储空间的高成本,SQL Azure无法工作。

    2 回复  |  直到 15 年前
        1
  •  3
  •   user94559    15 年前

    唯一的选择是在本地下拉所有内容,并在本地对象上运行count()或sum()。因为在进行计数之前必须传输表的全部内容,所以这肯定比使用SQL之类的服务器端操作慢得多。速度慢多少取决于数据的大小。

        2
  •  4
  •   Eugenio Pace    15 年前

    赖安

    正如史蒂夫所说,聚合被解析为“客户端”,如果数据集太大,这可能会导致性能下降。

    另一种选择是用不同的方式来思考这个问题。您可能需要预先计算这些值,以便它们随时可用。例如,如果您有主细节数据(如众所周知的采购订单+行项目),您可能希望在标题中存储“行项目总和”。这可能看起来是“多余的”(它是),但是去标准化是你必须考虑的。

    这些预计算可以“同步”或“异步”完成。在某些情况下,你可以负担得起 近似值 因此,从完美主义的角度来看,延迟计算可能是有益的。