谷歌搜索了一段时间后,我在这里发布了这个问题,因为我无法在任何地方找到这样的问题。
我们的应用程序有一个包含 274 列(无 LOB 或 Long Raw 列)的表,并且在 8 年的时间里,该表开始具有链式行,因此任何全表扫描都会影响性能。
当我们深入挖掘时,我们发现大约 50 列在应用程序的任何地方都没有使用,因此可以立即删除。但这里的挑战是应用程序必须进行许多代码更改才能实现这一点,并且我们将底层数据公开为其他应用程序正在使用的服务。所以我们现在不能选择代码更改作为选项。
我们想到的另一个选择是,我是否可以将这 50 列作为虚拟列始终设置为 NULL,然后我们只需要对表加载过程进行更改,其余的都将保持原样。但是我需要专家的建议,是否将虚拟列添加到表中不会再次构造链接行。此解决方案是否适用于给定的问题陈述?
谢谢拉米