首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >物化视图花费太多时间

物化视图花费太多时间
EN

Database Administration用户
提问于 2012-04-12 07:54:30
回答 1查看 14.9K关注 0票数 2

我创建了一个物化视图,快速刷新。它需要将近45分钟来创建,但它没有在24小时内刷新。我试着用索引和没有索引的方式。我检查日志中所有表的最大记录是2 lac。查询如下所示,请建议所需的更改

代码语言:javascript
复制
CREATE MATERIALIZED VIEW LOG ON a WITH ROWID,   SEQUENCE (COLUMN USED FROM THIS TABLE)
/
CREATE MATERIALIZED VIEW LOG ON P WITH ROWID,   SEQUENCE (COLUMN USED FROM THIS TABLE)
/
CREATE MATERIALIZED VIEW LOG ON PG WITH ROWID,  SEQUENCE (COLUMN USED FROM THIS TABLE)
/
CREATE MATERIALIZED VIEW LOG ON PN WITH ROWID, SEQUENCE (COLUMN USED FROM THIS TABLE))
/ 
CREATE MATERIALIZED VIEW LOG ON AP WITH ROWID
/
CREATE  MATERIALIZED VIEW C_INFO 
NOLOGGING
BUILD IMMEDIATE
refresh fast with rowid 
on demand
AS
SELECT  
   A.ROWID ACTROWID , P.ROWID PREMROWID, 
   PG.ROWID PGROWID,AP.ROWID APROWID, PN.ROWID PNROWID,
   ...
FROM     A,    P,   pg,    ap, pn      
WHERE   
        p.id             =  pg.id (+)
    and pg.columname  (+)=  'Value' 
...
EN

回答 1

Database Administration用户

发布于 2012-04-12 09:12:03

您的物化不是用下一首子句定义的,因此只有在您明确要求时它才会刷新。您可以直接使用数据库管理系统_MVIEW.REFRESH或使用数据库管理系统_刷新创建刷新组。

为了使刷新自动化,您可以使用数据库管理系统_调度器数据库管理系统_工作编写作业程序(在11g中不推荐使用dbms_job)。

还可以使用NEXT子句定义MV,例如,这将每小时刷新MV:

代码语言:javascript
复制
CREATE MATERIALIZED VIEW  C_INFO 
NOLOGGING
BUILD IMMEDIATE
refresh fast with rowid 
on demand
NEXT sysdate + 1/24
票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/16406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档