代码之家  ›  专栏  ›  技术社区  ›  Dorad

HanaDB-复杂性:从dbtab中选择COUNT(*)

  •  0
  • Dorad  · 技术社区  · 5 年前

    这个问题和 MySQL - Complexity of: SELECT COUNT(*) FROM MyTable;

    MySQL 我想知道你的答案 HDB .

    澄清:问题是关于在没有任何附加条件的情况下选择计数:

    SELECT COUNT( * ) FROM dbtab.
    

    在每张桌子上面都放一个柜台?

    0 回复  |  直到 5 年前
        1
  •  2
  •   Lars Br.    5 年前

    未经加工的 记录计数作为内部存储结构的一部分保留,不需要根据查询时间进行计算。 这对于行表和列表尤其如此。

    虚拟表位于另一端,当涉及到复杂视图时,它的行为更像复杂视图 SELECT count(*) 疯狂地

    另外,请小心假设行和列存储表将返回带有 . HANA是一个无共享的分布式数据库(在横向扩展设置中),这意味着只有表所在的节点才知道此类信息。找出行数,例如一个分区表 上的分区 Y 节点数量可能需要相当长的时间!

    最后,这个 仅对当前内存中的表可用。运行 选择计数(*) 在当前卸载的表上,将触发响应该查询所需的列的加载(基本上是所有主键列+一些内部表管理结构)。

    希望这能回答一个相当广泛的问题。

    推荐文章