暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 行链是否隐含在 “宽” 表上?

ASKTOM 2021-04-14
276

问题描述

嗨,汤姆,

在我们的ETL工具中,我们有一个读取和转换平面文件的过程。创建一个表,其中包含用于保存平面文件内容的列和用于每行顺序应用的函数的列。文件内容通过批量复制加载。批量复制后,一系列更新语句被应用到函数列中,再次按顺序应用,因为在许多情况下更新依赖于以前的更新。所有这些表都有PCTFREE = 10。

在所有这些示例中,列的总数超过255,因此我希望所有行都被链接。然而,在一种情况下,我有 ~ 5% 链接,在另一些情况下,我有99% 链接。

注释
这些是边缘情况 .. 通常文件不是那么宽。我们正在考虑将表格分开。
我们不能改变列的顺序
我们不能删除任何列

示例

平面文件列计数函数列计数 % 链
261 116 7.5%
252 73 99%

所以一些问题:
1.链接中的差异是否可以通过在update语句中引用哪些列来解释?表的整个拆分 (以内存术语) 可能是从右侧
2.PCTFREE设置对与宽表链接有任何积极影响吗?
3.您还有其他建议吗?

专家解答

在更高版本中,如果有足够的空间,Oracle数据库将更好地链接在块内。我已经在以下位置详细讨论了这一点:

https://asktom.oracle.com/pls/apex/asktom.search?tag=table-255-columns-row-chaining

块内的链接通常不会出现在行链接指标中,这可能会在某种程度上解释巨大的差异。

Can the diff in chaining be explained by which columns are being referred to in the update statements?

这也可能在这里发挥作用-您更改哪些列,更改的频率以及当时块中有多少可用空间都起作用。

Can PCTFREE settings have any positive impact on chaining with wide tables?

它可能会产生积极的影响,也可能会产生负面的影响...

Are there any other tactics you can suggest?

具体做什么?

除非你有一个性能问题,你发现primarily caused通过行链接,我怀疑您还可以对系统进行其他优化,这将带来更大的好处。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论