【问题标题】:How can I determine the maximum row size just from the column datatype sizes?如何仅从列数据类型大小确定最大行大小?
【发布时间】:2010-03-25 13:36:55
【问题描述】:

如果我只获得表中列的数据类型长度(来自 all_tab_cols.data_length 列)(即没有统计信息或分析),我如何计算表中的最大行大小?由于这是一个 IOT,因此还有额外的复杂性,因此还需要考虑索引树的大小。

【问题讨论】:

    标签: oracle indexing


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我会重新创建表,使用Data Generator 生成一些数据并实际测量它。 我一般不会超过 10 MB 的生成数据作为指导。

      在某些地方,它们倾向于生成过大的数据长度(例如,将字符串大小标准化为 20、50、100 字节/字符)。即使在大多数人的长度为 5-10 的情况下,您也可以允许 30 个字符。因此,从字段大小而不是实际长度得出的估计值将非常模糊,并且您将有很大的误差范围。

      【讨论】:

      • 我无法在数据库中添加或更改任何内容;它必须是我只能在客户端机器上运行的公式。
      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 2015-12-07
      • 2019-01-02
      • 1970-01-01
      • 2011-06-09
      • 2018-01-14
      • 2020-12-10
      • 2020-09-09
      相关资源
      最近更新 更多