|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于现有业务,可以轻松移植到MySQL。当你需要替换掉老的硬件,当你需要削减历史遗留下的老系统的时候,选用MySQL对于财务部门来说更具吸引力。oracle
Oracle的体化D办理
作者:CCBZZP
1.体化D观点
体化D办理是用于R,A算,制或分l稻莸ο,在年夜型的稻中利用它能够进步触及到的SUM,COUNT,AVG,MIN,MAX等的表的查的速率,只需在体化D办理上建了y,查优化器⒆拥氖褂体化D办理,@特征被QQUERYREWRITE(查重).与一般的D分歧的是体化D办理存稻,占有稻的物理空g的.
建体化D办理的用舻嘞薇仨有:CREATEMATERIALZEDVIEW,CREATETABLE,CREATEVIEW,SELECT等,假如在其他的形式中建的要在表上有CREATEANYMATERIALIZEDVIEW和SELECT嘞.
要查重援用e的形式中的体化D办理的,要有援用的表的GLOBALQUERYREWRITEORQUERYREWRITE嘞.
假如划利用体化D办理的,要修正滴募屑:QUERY_REWRITE_ENABLE=TRUE
2.建体化D注重事:
建以后,是不是要填
多Lrg革新一次
利用那种革新型:COMPLE(完整),FAST(疾速),FORCE(制),NEVER(不)
3.建体化D
CREATEMATERIALIZEDVIEWTEST3
PCTFREE0TABLESPACEMTEST
STORAGE(INITIAL1MNEXT1MPCTINCREASE0)
BUILDDEFERRED
REFRESHFASTONCOMMIT
ENABLEQUERYREWRITE
ASSELECTEMP_NO,SUM(QTY_PSC)ASQTY_PSCFROMBSEMPMSGROUPBYEMP_NO;
4.h除体化D
DROPMATERIALIZEDVIEWTEST3;
5.办理和u估体化D的工具
要行DBMSSNAP.SQL和DBMSSUM.SQL体化D建包DBMS_MVIEW和DBMS_OLAP
DBMS_MVIEW用于绦泄芾砘拥.
DBMS_OLAP断定体化D是不是能进步查的功能.
6.革新体化D的办法
EXECUTEDBMS_MVIEW.REFRESH(TEST3,C);
个中TEST3体化D名Q,C樗⑿骂型中的一种.
革新型有:C-完整革新
F-疾速革新和制革新
EXECUTEDBMS_MVIEW.REFRESH_ALL
不承受任何,全体革新.
7.体化Dg的完全性
在体化D相互嵌套的r候貌煌体化D的革新的体例和rg的分歧而引发的稻莸耐暾缘},τ谶@种情r,建h把相P的体化D放在统一革新M中,f{M行革新.
DBMS_REFRESH件包中供应MAKE^程建一革新M.
比方:
EXECUTEDBMS_REFRESH.MAKE
(NAME=>TEST_GROUP,
LIST=>LOC_EMP,LOC_DPT,
NEXT_DATE=>SYSDATE,
INTERVAL=>SYSDATE+7);
下面建一体化D革新MTEST_GROUP,革新周期7天一次的.
体化DLOC_EMP和LOC_DPT通^一鬟fo^程的.
8.向革新M中增添革新的体化D
DBMS_REFRESH.ADD
(NAMEINVARCHAR2,
LISTINVARCHAR2,|
TABINDBMS_UTILITY.UNCLARRAY,
LAXINBOOLEAN:=FALSE);
9.向革新M中h除革新的体化D
DBMS_REFRESH.SUBTRACT
(NAMEINVARCHAR2,
LISTINVARCHAR2,|
TABINDBMS_UTILITY.UNCLARRAY,
LAXINBOOLEAN:=FALSE);
10.手工h除一革新M
EXECUTEDBMS_REFRESH.REFRESH(TEST_GROUP);
也能够
EXECUTEDBMS_REFRESH.DESTROY(NAME=>TEST_GROUP);
11.体化D的日记办理
体化D日记是一表,坚持体化D操纵的v史.
要建体化D日记必能在表上建AFTERROW触l器,必有CREATETRIGGER,CREATETABLE嘞
比方:
CREATEMATERIALIZEDVIEWLOGONBSEMPMS
TABLESPACEDATA_TEST
STORAGE(INITIAL1MNEXT1MPCTINCREASE0)
PCTFREE5PCTUSED90;
体化D日记的PCTFREE很小,PCTUSED很年夜的.
通^ALTERMATERIALIZEDVIEWLOG命令能够修正体化D日记.
如:
ALTERMATERIALIZEDVIEWLOGBSEMPMSPCTFREE1;
要撤N体化D日记,能够用DROPMATERIALIZEDVIEWLOG命令
如:
DROPMATERIALIZEDVIEWLOGONBSEMPMS;
12.扫除体化D日记
要p少体化D日记利用的空g,可用DBMS_MVIEW件包中的PURGE_LOG^程,PURGE_LOG有三:
主表名Q,NUM量,DELETE酥
NUM指比来起码革新的体化D盗
比方:
EXECUTEDBMS_MVIEW.PURGE_LOG
(MATER=>BSEMPMS,
NUM=>1,
FLAG=>DELETE);
BSEMPMS表的体化D⑶宄体化D比来起码利用的l目.
要在截嘀鞅淼r候而不G掉体化D日记l目,能够用命令
TRUNCATETABLEBSEMPMSPRESERVEMATERIALIZEDVIEWLOG;
13.也能够用OEM建和办理体化D
MySQL在业界的流行所带来的另一个好处是,人们总可以很轻松地发现本行业的MySQL学习教程。厂商都希望他们的开发工具和应用程序框架可以与MySQL数据库兼容。 |
|