【发布时间】:2010-03-25 13:36:55
【问题描述】:
如果我只获得表中列的数据类型长度(来自 all_tab_cols.data_length 列)(即没有统计信息或分析),我如何计算表中的最大行大小?由于这是一个 IOT,因此还有额外的复杂性,因此还需要考虑索引树的大小。
【问题讨论】:
如果我只获得表中列的数据类型长度(来自 all_tab_cols.data_length 列)(即没有统计信息或分析),我如何计算表中的最大行大小?由于这是一个 IOT,因此还有额外的复杂性,因此还需要考虑索引树的大小。
【问题讨论】:
涉及调整索引大小的公式——它们通常专注于计算每个块的行数以确定 N 行所需的实际磁盘空间——我最后一次发现 Oracle 将其包含在他们的文档中是在 Oracle 8.0 .见here.
【讨论】:
我会重新创建表,使用Data Generator 生成一些数据并实际测量它。 我一般不会超过 10 MB 的生成数据作为指导。
在某些地方,它们倾向于生成过大的数据长度(例如,将字符串大小标准化为 20、50、100 字节/字符)。即使在大多数人的长度为 5-10 的情况下,您也可以允许 30 个字符。因此,从字段大小而不是实际长度得出的估计值将非常模糊,并且您将有很大的误差范围。
【讨论】: