Oracle高级技术之大数据处理_第1页
Oracle高级技术之大数据处理_第2页
Oracle高级技术之大数据处理_第3页
Oracle高级技术之大数据处理_第4页
Oracle高级技术之大数据处理_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle高级技术---大数据处理交流内容分区技术报表优化技术

并行处理应用经验Oracle的分区技术

分区技术内容什么是分区?分区的好处?如何实施分区?如何评估分区的效果?

Oracle的分区技术基本原理分而治之SB_ZSXX按年度进行分区2003200420052006分区概述大数据对象(表,索引)被分成小物理段当分区表建立时,记录基于分区字段值被存储到相应分区。分区字段值可以修改。(rowmovementenabled)分区可以存储在不同的表空间分区可以有不同的物理存储参数分区支持IOT表,对象表,LOB字段,varrays等分区技术的效益和目标性能Select和DML操作只访问指定分区并行DML操作Partition-wiseJoin可管理性:数据删除,数据备份历史数据清除提高备份性能指定分区的数据维护操作可用性将故障局限在分区中缩短恢复时间分区目标优先级

高性能

–>数据维护能力->实施难度

–>高可用性(故障屏蔽能力)分区方法分区方法:范围---8Hash---8i列表---9i组合---8iRange

partitioningHash

partitioningComposite

partitioningList

partitioning123CREATETABLEsales(acct_noNUMBER(5),personVARCHAR2(30),sales_amountNUMBER(8),week_noNUMBER(2))PARTITIONBYRANGE(week_no)(PARTITIONP1VALUESLESSTHAN(4)TABLESPACEdata0,PARTITIONP2VALUESLESSTHAN(8)TABLESPACEdata1,...…PARTITIONP13VALUESLESSTHAN(53)TABLESPACEdata12);分区字段:week_no.VALUESLESSTHAN

必须是确定值每个分区可以单独指定物理属性123范围分区例最早、最经典的分区算法Range分区通过对分区字段值的范围进行分区Range分区特别适合于按时间周期进行数据的存储。日、周、月、年等。数据管理能力强数据迁移数据备份数据交换范围分区的数据可能不均匀范围分区与记录值相关,实施难度和可维护性相对较差范围分区特点Hash分区区例例createtableCUSTOMERS(...columndefinitions...)pctfree0nologgingstorage(initial40mnext40mpctincrease0)partitionbyhash(customer_no)partitions8storein(cust_data01,cust_data02)createtableCUSTOMERS(...columndefinitions...)pctfree0nologgingstorage(initial40mnext40mpctincrease0)partitionbyhash(customer_no)(partitioncust_p01tablespacecust_data01,partitioncust_p02tablespacecust_data02,partitioncust_p03tablespacecust_data03,partitioncust_p04tablespacecust_data04,partitioncust_p05tablespacecust_data05,partitioncust_p06tablespacecust_data06,partitioncust_p07tablespacecust_data07,partitioncust_p08tablespacecust_data08)Hash分区特点基于分区字段段的HASH值,自动将记记录插入到指指定分区。分区数一般是是2的幂易于实施总体性能最佳佳适合于静态数数据HASH分区适合于数数据的均匀存存储HASH分区特别适合合于PDML和partition-wisejoins。。支持(hash)localindexes9i不支持(hash)globalindexes10g支持(hash)globalindexesHASH分区数据管理能力力弱HASH分区对数据值值无法控制列表分区例createtableaddresses(...columndefinitions...)pctfree0nologgingstorage(initial40mnext40mpctincrease0)partitionbylist(city_name)(partitionaddr_p01values('WELLINGTON')tablespaceaddr_data01,partitionaddr_p02values('CHRISTCHURCH')tablespaceaddr_data02,partitionaddr_p03values('DUNEDIN','INVERCARGILL')tablespaceaddr_data03,partitionaddr_p04values('AUCKLAND')tablespaceaddr_data04,partitionaddr_p05values('HAMILTON','ROTORUA','TAURANGA')tablespaceaddr_data05)列表表分分区区特特点点List分区区通通过过对对分分区区字字段段的的离离散散值值进进行行分分区区。。List分区区是是不不排排序序的的,,而而且且分分区区之之间间没没有有关关联联关关系系List分区区适适合合于于对对数数据据离离散散值值进进行行控控制制。。List分区区只只支支持持单单个个字字段段。。List分区区具具有有与与范范围围分分区区相相似似的的优优缺缺点点数据据管管理理能能力力强强List分区区的的数数据据可可能能不不均均匀匀List分区区与与记记录录值值相相关关,,实实施施难难度度和和可可维维护护性性相相对对较较差差复合合分分区区例例createtabledaily_trans_data(...columndefinitions...)partitionbyrange(trans_datetime)subpartitionbyhash(customer_no)subpartitions8storein(dtd_data01,dtd_data02)(partitiondtd_20010620valueslessthan(to_date('21-jun-2001','dd-mon-yyyy'))(subpartitiondtd_20010620_s01,subpartitiondtd_20010620_s02,subpartitiondtd_20010620_s03tablespacedtd_data03,subpartitiondtd_20010620_s04tablespacedtd_data04,subpartitiondtd_20010620_s05tablespacedtd_data05,subpartitiondtd_20010620_s06tablespacedtd_data06,subpartitiondtd_20010620_s07tablespacedtd_data07,subpartitiondtd_20010620_s08tablespacedtd_data08),partitiondtd_20010621valueslessthan(to_date('22-jun-2001','dd-mon-yyyy')),partitiondtd_20010622valueslessthan(to_date('23-jun-2001','dd-mon-yyyy'))subpartitions4)复合分区图示示复合分区特点点Oracle支持的Composite分区:Range-Hash,Range-List既适合于历史史数据,又适适合于数据均均匀分布与范围分区一一样提供高可可用性和管理理性更好的PDML和partition-wisejoins性能实现粒度更细细的操作支持复合localindexes不支持复合compositeglobalindexes?分区索引不分区分区不分区

分区表索引√√√√GlobalNonpartitionedindexLocalpartitionedindexGlobalPartitionedIndex不同的分区索索引绍兴杭州温州03年04年…08年分区索引分区表索引的的分类:LocalPrefixedindexLocalNon-prefiexedindexGlobalPrefixedindexNonPartitionIndexGlobal索引的分区不不同与表分区区Local索引的分区与与表分区相同同Anindexisprefixedifitispartitionedonaleftprefixoftheindexcolumns.分区表上的非非分区索引等等同于Global索引分区索引Global索引必须是范范围分区---9i之前Global索引可以是HASH分区--10g新特性Global索引不支持Bitmap索引Unique索引必须是prefixed,或者包含分区区字段Local索引(non-prefixed,non-unique)可以不包含分分区字段createindexcust_idx1oncustomers(customer_name)globalpartitionbyrange(customer_name)(partitioncust_p01valueslessthan(‘H’’)tablespacecust_index01,partitioncust_p02valueslessthan(‘N’)tablespacecust_index02,partitioncust_p03valueslessthan(‘T’’)tablespacecust_index03,partitioncust_p04valueslessthan(MAXVALUE)tablespacecust_index04)createindexcust_idx2oncustomers(customer_no)local(partitioncust_idx_p01tablespacecust_index01,partitioncust_idx_p02tablespacecust_index02,partitioncust_idx_p03tablespacecust_index03,partitioncust_idx_p04tablespacecust_index04,partitioncust_idx_p05tablespacecust_index05,partitioncust_idx_p06tablespacecust_index06,partitioncust_idx_p07tablespacecust_index07,partitioncust_idx_p08tablespacecust_index08)createindexcust_idx3oncustomers(customer_type)local;分区索索引举举例分区表表索引引的使使用OLTP系统中中的建建议Global和uniquelocalindex性能优优于nonuniquelocalindexLocalindex提供了了更好好的可可用性性数据仓仓库系系统中中的建建议Localindex更适合合于数数据装装载和和分区区维护护在大量量数据据统计计时,,能充充分利利用Localindex并行查查询能能力在性能能、高高可用用性和和可管管理性性之间间进行行平衡衡分区索索引选选择策策略分区裁裁剪功功能Partitionpruning:Onlytherelevantpartitionsareaccessed.99-May99-Apr99-Feb99-Jan99-Mar99-JunsalesSQL>SELECTSUM(sales_amount)2FROMsales3WHEREsales_dateBETWEEN4TO_DATE(‘‘01-MAR-1999’’,5‘‘DD-MON-YYYY’’)AND6TO_DATE(‘‘31-MAY-1999’’,7‘‘DD-MON-YYYY’’);分区区裁裁剪剪举举例例1select*fromdaily_trans_summ2*wheretrans_datetimebetweento_date('25-jun-200108','DD-mon-yyyyhh24')andto_date('28-jun-200118','DD-mon-yyyyhh24')PartitionPartitionOperationOptionsObjectNameStartStop-----------------------------------------------------------------------------SELECTSTATEMENTPARTITIONRANGEITERATOR231234TABLEACCESSFULLDAILY_TRANS_SUMM2312341select*fromdaily_trans_summ2*wheretrans_datetimein('25-jun-2001','28-jun-2001')PartitionPartitionOperationOptionsObjectNameStartStop-----------------------------------------------------------------------------SELECTSTATEMENTPARTITIONRANGEINLISTKEY(INLIST)KEY(INLIST)TABLEACCESSFULLDAILY_TRANS_SUMMKEY(INLIST)KEY(INLIST)Nonpartition-wisejoinFullpartition-wisejoinPartialpartition-wisejoinQueryslavePartitionPartitionedtable123Partition-WiseJoinPartition-wiseJoinsTablesandindexesthatarepartitionedidenticallyareequi-partitioned.Afullpartition-wisejoinoccurswhenjoiningtwoequi-partitionedtablesthatarepartitionedonthejoinkey.Oraclesplitsthejoinintojoinsofpairsofpartitions.Apartialpartition-wisejoinoccurswhenonlyoneofthetablesispartitionedonthejoinkey.Partition-wisejoinsoccurwhenjoiningahashpartitiontabletOracleassignsparallelqueryslavestoprocessthepartitionjoins.Partition-wiseJoins举例1select/*+full(c)*/c.customer_no,count(*)2fromcustomersc,daily_trans_datad3wherec.customer_no=d.customer_no4andd.trans_datetimebetweento_date('25-jun-2001','dd-mon-yyyy')5andto_date('28-jun-2001','dd-mon-yyyy')6*groupbyc.customer_noPartitionPartitionOperationOptionsObjectNameStartStop-----------------------------------------------------------------------------SELECTSTATEMENTPARTITIONHASHALL18SORTGROUPBYHASHJOINPARTITIONRANGEITERATOR5053TABLEACCESSFULLDAILY_TRANS_DATA393424TABLEACCESSFULLCUSTOMERS18分区表设计计原则表的大小::当表的大大小超过1.5GB-2GB,或对于OLTP系统,表的的记录超过过1000万,都应考考虑对表进进行分区。。数据访问特特性:基于于表的大部部分查询应应用,只访访问表中少少量的数据据。对于这这样表进行行分区,可可充分利用用分区排除除无关数据据查询的特特性。数据维护::按时间段段删除成批批的数据,,例如按月月删除历史史数据。对对于这样的的表需要考考虑进行分分区,以满满足维护的的需要。数据备份和和恢复:按时间周期期进行表空空间的备份份时,将分分区与表空空间建立对对应关系。。只读数据::如果一个个表中大部部分数据都都是只读数数据,通过过对表进行行分区,可可将只读数数据存储在在只读表空空间中,对对于数据库库的备份是是非常有益益的。并行数据操操作:对于于经常执行行并行操作作(如ParallelInsert,ParallelUpdate等)的表应应考虑进行行分区。表的可用性性:当对表表的部分数数据可用性性要求很高高时,应考考虑进行表表分区。分区表的管管理功能分区的增加加(ADD)分区的删除除(DROP))分区的合并并(MERGE)分区的清空空(TRUNCATE)分区的交换换(EXCHANGE)分区的压缩缩(COALESE))分区的移动动(MOVE)分区的分离离(SPLIT)修改分区的的DefaultAttribute分区的更名名(RENAME)分区索引的的管理功能能分区索引的的删除(DROP))分区索引的的修改(MODIFY)分区索引DefaultAttribute的修改分区索引的的重建(REBUILD))分区索引的的更名(RENAME)分区索引的的分离(SPLIT)分区索引的的Unusable分区表和Local索引OCT

2002SEP

2002AUG2002NOV

2001OCT

2001新月份数据据的加载和和索引的维维护NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002NOV

2002...“滚动窗口口”操作-大量量数据高速速装载OCT

2002SEP

2002NOV

2002NOV

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001OCT

2002SEP

2002NOV

2002DEC

2001NOV

2001OCT

2001NOV

2002删除或归档档最老月份份的数据OCT

2001OCT

2001新月份数据据的加载和和索引的维维护...分区表和Local索引“滚动窗口口”操作-大量量数据高速速装载分区交换功功能通过交换数数据段,实实现分区和和非分区表表的数据交交换。以及及子分区和和分区表的的数据交换换非常快捷的的数据移动动方式。特特别是没有有validation和索引维护护操作时Local索引自动维维护Global索引必须重重建分区交换的的应用---全文文检索12:00分区BF_DXX_stage中间表(1)1:00数据的加载载(2)建立context索引(3)partition的exchangeBF_DXX表*初始化化工作*整理工工作……2:00分分区1:00分区分区交换的的应用---全文文检索第一步:1:00数数据的加载载insertintoBF_DXX_stage(SJ,TEXT3)values(to_date('2004.03.02','YYYY.MM.DD'),'大撒反对撒撒');第二步:建建立context索引CREATEINDEXIDX_BF_DXX_STAGEONBF_DXX_stage(text3)INDEXTYPEISCTXSYS.CONTEXTPARAMETERS('LEXERMYLEXERSTORAGEMYSTOREFILTERCTXSYS.NULL_FILTERMEMORY100M')parallel4;第三步:partition的交换altertableBF_DXXexchangepartitionp2withtableBF_DXX_stageincludingindexes;迁移表空间间(Transportabl第一步::exptransport_tablespace=yes第二步::FTP数据文件件和dmp文件第三步::imptransport_tablespace=yes地市系统imp卸载文件省级系统FTP数据文件卸载文件数据文件exp迁移表空空间技术术的作用用业务系统统数据向向数据仓仓库系统统的迁移移对业务系系统和数数据仓库库系统的的数据进进行定期期归档数据仓库库向数据据集市的的数据迁迁移数据对外外发布按表空间间进行时时间点的的数据恢恢复(TSPITR)迁移表空间间技术的优优点性能大大高高于export/import或PL/SQL编写的程序序由于Dmp文件只包含含表空间的的结构信息息,因此该该技术的真真正开销在在于数据文文件的传输输。对源系统的的影响非常常小只需要将被被迁移的表表空间设置置为只读方方式可同时传输输索引数据据,避免在在目的数据据库中重建建索引分区交换的的应用---ETL在源系统中中,将需要要抽取的数数据以如下下语句形式式,抽取到到建立在单单独表空间间上的中间间表中:CREATETABLE...ASSELECT…INSERT/*+APPEND*/ASSELECT…以TTS方式将将中间间表的的表空空间传传输到到数据据仓库库之中中。exptransportable_tablespace=Yes…FTP中间表表表空空间的的数据据文件件imptransportable_tablespace=Yes…在数据据仓库库中对对中间间表进进行各各种数数据归归并等等清洗洗工作作,并并建立立需要要的各各种索索引。。通过exchange技术,,将中中间表表数据据及索索引直直接交交换到到分区区表中中。Altertable<分区表表>exchangepartition<分区名名>withtable<中间表表>includingindexes;分区交交换的的应用用---重复记记录删删除问题描描述::在在使用用SQL*Loader进行数据加载载sor_acct_dcc_saamt_c表时,由于操操作失误,重重复加载,导导致分区ETL_LOAD_DATE_0606出现重复记录录,也使得两两个唯一索引引:IDX_SAACNAMT_C_1,IDX_SAACNAMT_C_2的ETL_LOAD_DATE_0606分区不可用((UNUSABLE)。用户在试图重重新创建该分分区索引时,,出现如下错错误:SQL>alterindexIDX_SAACNAMT_C_2rebuildpartitionETL_LOAD_DATE_0606;alterindexIDX_SAACNAMT_C_2rebuildpartitionETL_LOAD_DATE_0606*ORA-01452:cannotCREATEUNIQUEINDEX;duplicatekeysfound分区交换的应应用---重复记录删除除在试图删除该该分区的重复复记录时,又又出现如下错错误:SQL>deletefromsor_acct_dcc_saamt_cpartition(ETL_LOAD_DATE_0606)whererowidnotin(selectmin(rowid)fromsor_acct_dcc_saamt_cpartition(ETL_LOAD_DATE_0606)groupbyETL_LOAD_DATE,CUST_ACCT_NO,SA_CURR_COD,SA_CURR_IDEN);*ORA-01502:index'GYFX.IDX_SAACNAMT_C_1'orpartitionofsuchindexisinunusablestate分区交换的应应用---重复记录删除除简单办法是彻彻底删除这两两个唯一索引引,重新创建建。数据量大,时时间太长。影响系统的可可用性。更完备的解决决方式创建一个与sor_acct_dcc_saamt_c结构一样的临临时表test。SQL>createtabletestasselect*fromsor_acct_dcc_saamt_cwhere1=2;将sor_acct_dcc_saamt_c表分区ETL_LOAD_DATE_0606数据交换到临临时表test。SQL>altertablesor_acct_dcc_saamt_cexchangepartitionETL_LOAD_DATE_0606withtabletest;分区交换的应应用---重复记录删除除更完备的解决决方式删除test中的重复记录录deletefromtestwhererowidnotin(selectmin(rowid)fromtestgroupbyETL_LOAD_DATE,CUST_ACCT_NO,SA_CURR_COD,SA_CURR_IDEN);因为test表没有任何索索引,可避免免上述ORA-01502错误。将临时表test数据交换回sor_acct_dcc_saamt_c表分区ETL_LOAD_DATE_0606。altertablesor_acct_dcc_saamt_cexchangepartitionETL_LOAD_DATE_0606withtabletest;分区交换的应应用---重复记录删除除更完备的解决决方式重新创建创建建该分区索引引IDX_SAACNAMT_C_1,IDX_SAACNAMT_C_2alterindexIDX_SAACNAMT_C_1rebuildpartitionETL_LOAD_DATE_0606tablespaceETL0_R_LOAD_IDX_200606;alterindexIDX_SAACNAMT_C_2rebuildpartitionETL_LOAD_DATE_0606tablespaceETL0_R_LOAD_IDX_200606;此时重复记录录已经删除,,可避免上述述ORA-01452错误现有系统实施施分区的经验验分区对象的确确定:存储空空间最大的前前20个表Select*from(Select*fromdba_segmentsorderbybytesdesc)whererownum<=20;分析大表的操操作行为Select*from(Selectsql_text,executionsfromv$sqlareawhereupper(sql_text)like‘%SB_ZSXX%’orderbyexecutionsdesc)whererownum<=20;综合其它分分区因素的的考虑:性性能,数据据迁移,备备份,高可可用性,可可维护性分区的评估估性能方面相应速度资源消耗((CPU、内存、I/O)性能分析工工具的使用用:OracleTrace,Autotrace,TKPROF其它方面数据迁移能能力数据备份和和恢复数据扩展性性(Add,Drop,Exchange,Merge,…)数据高可用用性Oracle报表优化技技术报表处理问问题报表处理是是大部分IT系统是最耗时、最最消耗资源源的模块报表处理,,主要通过过FormulaOne、BO等报表处理工工具实现SQL语句基本都都是各种统统计运算语语句。…SUM…GROUPBY各种报表的的表格单元元都是统计计运算语句句生成。统统计运算语语句量非常常大统计运算语语句,基本本都是从一一些交易明明细表或基基表,直接接进行汇总总运算操作作其他汇总数数据按月汇总的的逾期未归还还贷款本金金的统计查询交易明细查询自动重写汇总数据管管理-物物化视图图MaterializedView辽宁省和四四川省逾期91--180天天未归还贷贷款本金的的贷款用户户总数?按地区汇总总的逾期未归还还贷款本金金的统计物化视图SQL查询的实例例化物化视图可可以设置成成查询重写写功能刷新类型:CompleteorFastForceorNever刷新模式:ManualAutomated(同步或异步步)查询重写概概述查询物化视视图,而不不是基表,,将极大提提高查询统统计性能。。查询重写功功能对应用用透明。不不需要特殊殊权限。查询重写与大小写无无关不支持子查查询物化视图创创建例SQL>CREATEMATERIALIZEDVIEWsales_summary2TABLESPACEusers3PARALLEL(DEGREE4)4BUILDIMMEDIATE5ENABLEQUERYREWRITE6AS7SELECTd_name,8SUM(s.quantity_sold),8SUM(s.amount_sold)9FROMsaless,productsp10WHEREd_id=d_id11GROUPBYd_name;物化视图创创建和查询询重写例SQL>SELECTd_name,SUM(s.quantity_sold),2SUM(s.amount_sold)3FROMsaless,productsp4WHEREd_id=d_id5GROUPBYd_name;SQL>selectoperation,object_name2fromv$sql_plan3whereobject_namelike'SALES%';OPERATIONNAME---------------------------------------SELECTSTATEMENTTABLEACCESSSALES_SUMMARY报表优化的基基本思路以报表为单位位,分析现有有报表的SQL语句。总结统统计运算SQL的共同规律,,作为设计物物化视图的考考虑对象。定义相应的物物化视图。包包括SQL查询语句的编编写,刷新方方式的确定等等评价原有统计计运算SQL语句的执行计计划,是否被被Oracle查询重写到相相应的物化视视图评价如何在物物化视图上创创建索引评估所有物化化视图数据和和索引的空间间消耗情况,,从而确定物物化视图数据据和索引表空空间的容量报表优化示例例现有统计运算算语句SELECTts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME,sum(ts_dyna.VIP_ACCT_ALL.T1)/100,sum(ts_dyna.VIP_ACCT_ALL.T29)/100))/100FROMts_stab.VIP_ORG_STAFF,ts_dyna.VIP_ACCT_ALLWHERE(ts_dyna.VIP_ACCT_ALL.STAFF_ID=ts_stab.VIP_ORG_STAFF.STAFF_ID)AND(((ts_stab.VIP_ORG_STAFF.VIP_ORGAN3)='org2'OR'ALL'='org2')AND((ts_stab.VIP_ORG_STAFF.VIP_ORGAN2)='ALL'OR'ALL'='ALL')AND((ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE)>='200401'AND(ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE)<='200401'))GROUPBYts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME报表优化示示例物化视图定定义CREATEMATERIALIZEDVIEWMV_01TABLESPACETS_TAB_DYNPARALLEL(DEGREE2)BUILDIMMEDIATEREFRESHCOMPLETEONDEMANDENABLEQUERYREWRITEASSELECTts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN3,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2,ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE,sum(ts_dyna.VIP_ACCT_ALL.T1),sum(ts_dyna.VIP_ACCT_ALL.T29)FROMts_stab.VIP_ORG_STAFF,ts_dyna.VIP_ACCT_ALLWHERE(ts_dyna.VIP_ACCT_ALL.STAFF_ID=ts_stab.VIP_ORG_STAFF.STAFF_ID)GROUPBYts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN3,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2,ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE报表优化示示例TABLESPACETS_TAB_DYN:物化视图MV_01存放的表空空间。建议议为物化视视图单独设设立表空间间PARALLEL(DEGREE2):并行度设计计为2(与与目前的CPU个数相等))BUILDIMMEDIATE:创建MV_01的同时,产产生汇总数数据REFRESHCOMPLETEONDEMAND:完全刷新ENABLEQUERYREWRITE::启动查询语语句重写功功能报表优化示示例SELECT短语应包含含的字段原SELECT语句的所有有非统计运运算字段。。ts_stab.VIP_ORG_STAFF.VIP_ORGAN3_NAME,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2_NAME,原SELECT语句中所有有查询条件件涉及到的的字段。如如:ts_stab.VIP_ORG_STAFF.VIP_ORGAN3,ts_stab.VIP_ORG_STAFF.VIP_ORGAN2,ts_dyna.VIP_ACCT_ALL.ACCOUNT_DATE,原子化(Primitive)的统计运算算字段。即即去掉表达达式的统计计运算字段段sum(ts_dyna.VIP_ACCT_ALL.T1),sum(ts_dyna.VIP_ACCT_ALL.T29),报表优化示示例创建物化视视图上的索索引createindexidx_MV_01_01onMV_01(VIP_ORGAN3)tablespaceTS_IND_DYNA;物化视图上上的刷新定期执行如如下命令,,可自动进进行物化视视图的刷新新execdbms_mview.refresh('TS_DYNA.MV_01');报表优化示示例初始化参数数的设置query_rewrite_enabled:TRUEquery_rewrite_integrity:STALE_TOLERATED权限方面的的设置grantCREATEANYMATE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论