加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 百科 > 正文

Oracle – 物化视图改变结构如此之慢

发布时间:2021-04-03 00:03:47 所属栏目:百科 来源:网络整理
导读:我有一个巨大的毁灭性视图,我必须调整.这是一个简单的调整,因为我只是在select语句中添加NVL函数. 即原版的… Select this,that..... 即改性 Select NVL(this,orThat) as this,NVL(That,orThis) as that 查询需要26秒才能运行,但由于检索到的行数(230万),

我有一个巨大的毁灭性视图,我必须调整.这是一个简单的调整,因为我只是在select语句中添加NVL函数.

即原版的…

Select this,that.....

即改性

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

查询需要26秒才能运行,但由于检索到的行数(230万),它的速度很慢.它连续运行了近5天,然后我停了下来.

这是一个问题,特别是因为我需要将它传递给客户端,并且他们无法运行脚本5天来创建MV.

问题:有没有办法加快改变/重建MV?如果我改变MV或者它会像丢弃和重新创建一样快吗?

Oracle版本= 10g

解决方法

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

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

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

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读