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

如何仅从列数据类型大小确定最大行大小?

  •  1
  • thecoop  · 技术社区  · 16 年前

    如果只给定表中各列的数据类型长度(来自all_tab_cols.data_length列),如何计算表中的最大行大小(即不进行统计或分析)?这是一个物联网的问题,所以还要考虑索引树的大小。

    2 回复  |  直到 9 年前
        1
  •  0
  •   Adam Musch    16 年前

    其中涉及调整索引大小的公式——它们通常专注于计算每个块的行数,以确定n行所需的实际磁盘空间——我最后一次发现Oracle在其文档中包含了这一点是在Oracle8.0中。见 here.

        2
  •  0
  •   Gary Myers    16 年前

    我会重新创建表,用 Data Generator 并实际测量它。 一般来说,生成的数据不会超过10s MB,这足以作为一个指南。

    在某些地方,它们倾向于生成过大的数据长度(例如,对20、50、100字节/字符的字符串大小进行标准化)。即使在名字上,当大多数人都是5-10个字符时,你也可以允许30个字符。由于这样的估计是从字段大小而不是实际长度得出的,因此会非常模糊,并且会有非常大的误差。