Oracle - 物化视图改变结构太慢

2023-12-12

我有一个巨大的物化视图,我必须调整。这是一个简单的调整,因为我只是将 NVL 函数添加到 select 语句中。

IE。原来的...

Select this,
       that.....

IE。修改的

Select NVL(this, orThat) as this,
       NVL(That, orThis) as that

该查询需要 26 秒才能运行,但由于检索的行数(230 万),速度非常慢。它连续运行了将近 5 天,然后我就停止了。

这是一个问题,特别是因为我需要将其交付给客户,而他们无法运行脚本 5 天以上来创建 MV。

问:有什么办法可以加快MV的修改/重新制作速度?如果我修改MV会更快还是会和删除并重新创建一样?

Oracle 版本 = 10g


您无法更改物化视图的查询定义 - 您必须删除并重新创建它。也就是说,您可以尝试这种方法,它可能比重新创建整个 MV 更快:

  1. 使用 PRESERVE TABLE 删除物化视图。
  2. 更新表中曾经是 MV 的数据以反映新的列定义。
  3. 使用 ON PREBUILT TABLE 子句重新创建物化视图。

如果视图上有索引,禁用并重建它们可能会有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle - 物化视图改变结构太慢 的相关文章

随机推荐