oracle refresh force,千万级表上的物化视图(force模式 ),手动刷新,为何速度奇慢?...

有一千万级数据表,先建立其物化视图log, 然后采用refresh force模式建立物化视图

在该千万级数据表未作任何变化时,手动dbms_mview.refresh(),速度奇慢!! 难道这里是complete refresh???

具体细节如下:

1) 该千万级表结构如下

CREATE TABLE MsgAssgnmnt (

MsgID INTEGER NOT NULL,

TimeFrom TIMESTAMP NOT NULL,

AssgnmntTypeCode SMALLINT NOT NULL,

RequestID INTEGER NOT NULL,

TimeTo TIMESTAMP NOT NULL,

QueueID SMALLINT NOT NULL,

AgentID SMALLINT NULL,

SegmentID SMALLINT NOT NULL,

ReasonCode NVARCHAR2(3) NOT NULL,

UpdateUserID SMALLINT NULL,

AssgnmntComment NVARCHAR2(254) NULL,

CONSTRAINT XPKMsgAssgnmnt

PRIMARY KEY (MsgID, TimeFrom, AssgnmntTypeCode)

)

2) 建立物化视图日志:

create materialized view log on MSGASSGNMNT with rowid;

3) 建立物化视图:

create materialized view MV_MSGASSGNMNT

tablespace BWTABSPACE4

build immediate

refresh force

on demand

as

SELECT TO_CHAR(TimeFrom,YYYYMMDDHH24MISS)

||TO_CHAR(TimeTo,YYYYMMDDHH24MISS) AS concatFromAndTo,

SegmentID, TimeFrom, AssgnmntTypeCode, AgentID, QueueID,

UpdateUserID, ReasonCode, RequestID, TimeTo FROM MsgAssgnmnt;

4) 在物化视图上建立索引

CREATE INDEX XIF201MV_MsgAssgnmnt ON MV_MSGASSGNMNT

( QueueID ASC) TABLESPACE BWTABSPACE10 NOLOGGING;

CREATE INDEX XIF382MV_MsgAssgnmnt ON MV_MSGASSGNMNT

( RequestID ASC) TABLESPACE bwtabspace10 NOLOGGING;

CREATE INDEX XIF777MV_MsgAssgnmnt ON MV_MSGASSGNMNT

( AgentID ASC) TABLESPACE bwtabspace10 NOLOGGING;

CREATE INDEX XSK1MV_MsgAssgnmnt ON MV_MSGASSGNMNT

( TimeFrom ASC) TABLESPACE bwtabspace10 NOLOGGING;

CREATE INDEX XIE1MV_MsgAssgnmnt ON MV_MSGASSGNMNT

( TimeTo ASC) TABLESPACE bwtabspace10 NOLOGGING;

CREATE INDEX XIE2MV_MsgAssgnmnt ON MV_MSGASSGNMNT

( concatFromAndTo ASC) TABLESPACE bwtabspace10 NOLOGGING;

5) 以上步骤都成功后,千万级母表msgassgnmnt没有做任何的DML操作,此时手动执行:

exec dbms_mview.refresh(MV_MSGASSGNMNT);

该步骤消耗2个小时,比建立物化视图的时间还要长

是不是我这里是一个complete refresh???

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值