oracle分区技术大批量数据操作_第1页
oracle分区技术大批量数据操作_第2页
oracle分区技术大批量数据操作_第3页
oracle分区技术大批量数据操作_第4页
oracle分区技术大批量数据操作_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

Oracle数据库高级技术交流---大批量数据处理技术Oracle(中国)顾问咨询部罗敏资深技术顾问电话Mail:Michael.luo@交流内容分区技术报表优化技术

并行处理应用经验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不支持复合合composite

globalindexes??分区索引不分区分区不分区

分区表索引√√√√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-wisejoinsoccurwhenjoiningahashpartitiontabletoacompositepartitiontableifthehashpartitioningandsub-partitioningisonthejoinkey.Oracleassignsparallelqueryslavestoprocessthepartitionjoins.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;迁移移表表空空间间(TransportableTablespace)技术术简简介介第一一步步::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_re

温馨提示

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

评论

0/150

提交评论