版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1Mondrian性能調(diào)試(數(shù)據(jù)庫)Oracle性能調(diào)試占很大比重Aggragatetable是主要方法,機(jī)制調(diào)試SQL跟蹤1.1設(shè)置SQL跟蹤SQL跟蹤語句要輸出到指定文件,因而SQL跟蹤的設(shè)置與logging的設(shè)置有關(guān)。Mondrian的設(shè)置Mondiran的聯(lián)機(jī)資料,Configration部分有SQL的設(shè)置如下:PropertyTyPeDefaultvalueDescriptionTracingmondrian.trace.levelint一Theamountoftracingdisplayed.Iftracelevelisabove0,SQLtracingwillbeenabledandloggedaspertheout.filebelow.ThisisseparatefromLog4jlogging.mondrian.debug.out.filestringSystem.outThenameofthefiletowhichtracingistobewritten.mondrian.rolap.RolapResult.printCacheablesbooleanfalseObsolete.據(jù)網(wǎng)上相關(guān)文檔記錄:將WEB-INF/Mpeties文件中加入mondrian.trace.level=1,SQL語句即輸出到System.out,為了將SQL跟蹤語句輸出到指定文件,需要配置log4jJBoss的Logging設(shè)置JBoss的最大特色就是LOGGING集中管理,各應(yīng)用不必自帶LOG4J.JAR和配置文件。詳細(xì)內(nèi)容參見《JBoss:
ADeveloper'sNotebook》Charpter6Logging簡單的說conf/Log4j.xml配置的是一個(gè)MAP,即二元組集合。(這個(gè)二元組的第一元是LOGGER日志生成器,第二元是APPENDER輸出設(shè)備。)也就說log4j配置文件說明了,那些日志生成器輸出到那些輸出設(shè)備。請注意Category和Root的概念,了解JBOSS中的server.log輸出設(shè)備.可以在server.log中查看SQL語句如下:QUANTITY")as='2002'groupby2007-02-0110:15:54,187DEBUG[mondrian.rolap?RolapUtilQUANTITY")as='2002'groupby如下設(shè)置,可以將SQL語句輸出到指定文件1.刪除mondrain自帶的log4j*.jar2.在conf/log4j.xml增加如下設(shè)置2.1指定輸出文件sqltrace.log<!--At.irne/dateInasedrollingappenderforrnondrianaq1t.racing--><appenclern;=Ltne=rrFILErrc1;=lss=rrurg?lugging■曰pp已nclei:?Dai1yRullingFileAppenclerrr><err□rHand1frclass=prurg?jbuss?lugging?utiJ.?On1yOneeErrorHand1erpr/><pari^LtniiiziiLie="Filerpvalue="3{iboss?s已rver?huiuE?dir}/log/汙匸i丄t?匸ace?lug"/><P曰匸曰rnn;=tt[ie=,pAppend"value="false"/>par;5Ltnn;5Ltne=rrDatePa匸匸ernrrvalup=rr1?丨yyyy-MM-delrr/>layuutclass=pr□rg?apache?丄□g理j?PatternLayuut."><Pari^Ltniiizune="C□nversinnFat.tern"value="%d%-5p[%c]%in%n”/></layuut></appenLler><!--Atime/datebasedrollingappenderformondriansqltracing--><appendername="FILE"class="org.jboss.logging.appender.DailyRollingFileAppender"><errorHandlerclass="org.jboss.logging.util.OnlyOnceErrorHandler"/><paramname="File"value="${jboss.server.home.dir}/log/sqltrace.log"/><paramname="Append"value="false"/><paramname="DatePattern"value="'.'yyyy-MM-dd"/><layoutclass="org.apache.log4j.PatternLayout"><paramname="ConversionPattern"value="%d%-5p[%c]%m%n"/></layout></appender>2.2綁定日志生成器<categoryname=rrmondrian.rolap.RolapUtilrr><priorityvalue=rrDEBUGrr/><appender-refref=rrSQLTRACErr/></category><categoryname="mondrian.rolap.RolapUtil"><priorityvalue="DEBUG"/><appender-refref="SQLTRACE"/></category>1.2根據(jù)SQL跟蹤設(shè)計(jì)AGGTABLE默認(rèn)規(guī)則:以下聚集表均根據(jù)mondrian的默認(rèn)rules進(jìn)行設(shè)計(jì)命名。具體為:聚集表內(nèi)容規(guī)則表名agg.+${facttablename}factcount列名factcount,必須是整型Level列名${hierarchy_name}_${level_name}${hierarchy_name}_${level_column_name}${usage_prefix}${level_column_name}${level_column_name}Measure列名${measure_name}${measure_column_name}${measure_column_name}_${aggregate_name}大小寫規(guī)則忽略大小寫1.2.1Lost所有維的聚集目的:對所有維都實(shí)現(xiàn)最粗粒度的聚集。以快速實(shí)現(xiàn)包含所有維的默認(rèn)allmember的查詢語句。在數(shù)據(jù)庫中創(chuàng)建聚集表,并從事實(shí)表中選擇數(shù)據(jù)插入到聚集表創(chuàng)建聚集表createtableAGG_1_DC_JOBCOLLECT(JCPASSQUANTITYNUMBER(10)NOTNULL,JCREJECTQUANTITYNUMBER(10)NOTNULL,JCREWORKQUANTITYNUMBER(10)NOTNULL,FACT_COUNTINTEGERNOTNULL);插入數(shù)據(jù)INSERTINTOAGG_1_DC_JOBCOLLECT(JCPASSQUANTITYJCREJECTQUANTITYJCREWORKQUANTITYFACT_COUNT)SELECTSUM(JCPASSQUANTITY)ASJCPASSQUANTITYSUM(JCREJECTQUANTITY)ASJCREJECTQUANTITY,SUM(JCREWORKQUANTITY)ASJCREWORKQUANTITY,COUNT(*)ASFACT_COUNTFROMDCJOBCOLLECT1?2?1?2MDX查詢語句select{[Measures].[jcpassquantity]}ONCOLUMNSfrom[workcenter]查詢結(jié)果指標(biāo)jcpassquantity12,16跟蹤sqlDEBUG[mondrian.rolap.RolapUtil]Segment.load:executingsql[select"AGG_1_DC_JOBCOLLECT"."JCPASSQUANTITY"as"m0"from"AGG_1_DC_JOBCOLLECT""AGG1DCJOBCOLLECT"],0ms若不設(shè)置聚集表,則查詢sql如下DEBUG[mondrian.rolap.RolapUtil]Segment.load:executingsql[selectsum("DC_JOBCOLLECT"."JCPASSQUANTITY")as"m0"from"DC_JOBCOLLECT""DC_JOBCOLLECT"],344ms121.5時(shí)間比較(在Toad中執(zhí)行使用和未使用聚集表的sql語句比較執(zhí)行時(shí)間)selectsum("DC_JOBCOLLECT"."JCPASSQUANTITY")as"m0"from"DC_JOBCOLLECT""DC_JOBCOLLECT"時(shí)間:468msecsselect"AGG_1_DC_JOBCOLLECT"."JCPASSQUANTITY"as"m0"from"AGG_1_DC_JOBCOLLECT""AGG_1_DC_JOBCOLLECT"時(shí)間:149msecsCollapsed時(shí)間維到quarter,Lost其它所有維目的:對時(shí)間維做到quarterlevel的聚集,對其它維做最粗粒度的聚集。以快速實(shí)現(xiàn)在時(shí)間維上聚集到quarterlevel上,在其它維上包含默認(rèn)allmember的查詢語句。在數(shù)據(jù)庫中創(chuàng)建聚集表,并從事實(shí)表選擇數(shù)據(jù)插入到聚集表中創(chuàng)建聚集表createtableAGG3QUARTERDCJOBCOLLECT(
THE_YEARVARCHAR2(4)NOTNULL,THE_QUARTERVARCHAR2(4)NOTNULL,JCPASSQUANTITYNUMBER(10)NOTNULL,JCREJECTQUANTITYNUMBER(10)NOTNULL,JCREWORKQUANTITYNUMBER(10)NOTNULL,FACT_COUNTINTEGERNOTNULL);插入數(shù)據(jù)到聚集表INSERTINTOAGG_3_QUARTER_DC_JOBCOLLECT(THE_YEAR,THE_QUARTER,JCPASSQUANTITYJCREJECTQUANTITYJCREWORKQUANTITYFACT_COUNT)SELECTDIM.THE_YEAR,DIM.THE_QUARTER,SUM(JCPASSQUANTITY)ASJCPASSQUANTITYSUM(JCREJECTQUANTITY)ASJCREJECTQUANTITY,SUM(JCREWORKQUANTITY)ASJCREWORKQUANTITY,COUNT(*)ASFACT_COUNTFROMDC_JOBCOLLECTBASE,DC_TIMEDIMWHEREBASE.JCCOLLECTTIME=DIM.TIME_IDGROUPBYDIM.THE_YEAR,DIM.THEQUARTER;1?2?2?2MDX查詢語句select{[Measures].[jcpassquantity]}ONCOLUMNS,{[time].[alltime].[2004].[l]}ONROWSfrom[workcenter]查詢結(jié)果指標(biāo)time>jcpassquantity+112,0跟蹤sqlDEBUG[mondrian.rolap.RolapUtil]Segment.load:"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"executingDEBUG[mondrian.rolap.RolapUtil]Segment.load:"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"executingsqlas"AGG3QUARTERDCJOBCOLLECT"."THEYEAR"as[select"cO","cl",”AGG_3_QUARTER_DC_J0BC0LLECT"."JCPASSQUANTITY"as"m0"from"AGG_3_QUARTER_DC_JOBCOLLECT""AGG_3_QUARTER_DC_JOBCOLLECT"where"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"=Tand"AGG3QUARTERDCJOBCOLLECT"."THEYEAR"='2004'],16ms若不設(shè)置聚集表,則查詢sql如下DEBUG[mondrian.rolap.RolapUtil]Segment.load:executingsql[select"DC_TIME"."THE_QUARTER"as"c0","DC_TIME"."THE_YEAR"as"c1",sum("DC_JOBCOLLECT"."JCPASSQUANTITY")as"m0"from"DC_TIME""DC_TIME","DC_JOBCOLLECT""DCJOBCOLLECT"where"DCJOBCOLLECT"."JCCOLLECTTIME"="DCTIME"."TIMEID"and"DCTIME"."THEQUARTER"='1'and"DCTIME"."THEYEAR"='2004'groupby"DCTIME"."THEQUARTER","DCTIME"."THEYEAR"],515ms122?5時(shí)間比較(在Toad中執(zhí)行使用和未使用聚集表的sql語句比較執(zhí)行時(shí)間)select"DC_TIME"."THE_QUARTER"as"c0","DC_TIME"."THE_YEAR"as"c1",sum("DC_JOBCOLLECT"."JCPASSQUANTITY")as"m0"from"DC_TIME""DC_TIME","DC_JOBCOLLECT""DC_JOBCOLLECT"where"DC_JOBCOLLECT"."JCCOLLECTTIME"="DC_TIME"."TIME_ID"and"DC_TIME"."THE_QUARTER"='1'and"DC_TIME"."THE_YEAR"='2004'groupby"DC_TIME"."THE_QUARTER","DC_TIME"."THE_YEAR"時(shí)間:313msecsselectselect"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"as"c0","AGG_3_QUARTER_DC_JOBCOLLECT"."THE_YEAR"as"c1","AGG_3_QUARTER_DC_JOBCOLLECT"."JCPASSQUANTITY"as"m0"from"AGG_3_QUARTER_DC_JOBCOLLECT""AGG_3_QUARTER_DC_JOBCOLLECT"where"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"='1'and"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_YEAR"='2004'時(shí)間:16msecs1.2.3只collapsed時(shí)間維到quarter(保留其它維的所有l(wèi)evel)目的:對時(shí)間維做到quarterlevel的聚集,對其它維做最細(xì)粒度的聚集。以快速實(shí)現(xiàn)在時(shí)間維上聚集到quarterlevel上,在其它維上可包含任意level的查詢語句。在數(shù)據(jù)庫中創(chuàng)建聚集表,并從事實(shí)表選擇數(shù)據(jù)插入到聚集表中創(chuàng)建聚集表createtableAGG_2_QUARTER_DC_JOBCOLLECT(JODNOJCDEVICECODEJCTEAMVARCHAR2(16)NOTNULL,VARCHAR2(10)NOTNULL,VARCHAR2(4)NOTNULL,MATCODEVARCHAR2(12)NOTNULL,THE_YEARVARCHAR2(4)NOTNULL,THE_QUARTERVARCHAR2(4)NOTNULL,JCPASSQUANTITYNUMBER(10)NOTNULL,JCREJECTQUANTITYNUMBER(10)NOTNULL,JCREWORKQUANTITYNUMBER(10)NOTNULL,FACT_COUNTINTEGERNOTNULL);插入數(shù)據(jù)到聚集表INSERTINTOAGG_2_QUARTER_DC_JOBCOLLECT(JODNO,JCDEVICECODE,JCTEAM,MATCODE,THE_YEAR,THE_QUARTER,JCPASSQUANTITYJCREJECTQUANTITYJCREWORKQUANTITYFACT_COUNT)SELECTBASE.JODNO,BASE.JCDEVICECODE,BASE.JCTEAM,BASE.MATCODE,DIM.THE_YEAR,DIM.THE_QUARTER,SUM(JCPASSQUANTITY)ASJCPASSQUANTITYSUM(JCREJECTQUANTITY)ASJCREJECTQUANTITY,SUM(JCREWORKQUANTITY)ASJCREWORKQUANTITY,COUNT(*)ASFACT_COUNTFROMDC_JOBCOLLECTBASE,DC_TIMEDIMWHEREBASE.JCCOLLECTTIME=DIM.TIME_IDGROUPBYBASE.JODNO,BASE.JCDEVICECODE,BASE.JCTEAM,BASE.MATCODE,DIM.THE_YEAR,DIM.THEQUARTER;1?2?3?2MDX查詢語句select{[Measures].[jcpassquantity]}ONCOLUMNS,Crossjoin(Hierarchize(Union(Crossjoin({[time].[alltime].[2004].[1]},{[Dwcno].[alljodworkcenter]}),Crossjoin({[time].[alltime].[2004].[1]},[Dwcno].[alljodworkcenter].Children))),{([EQ].[alleq],[pm].[allmat],[wt].[allworkteam])})ONROWSfrom[workcenter]查詢結(jié)果指標(biāo)timeDwcnoEQpmwt9jcpassquantity+1-alljodvjorkcenter^alleq<allworkteam12,017車輪生產(chǎn)線專日lleq<allworkteam8,163輪養(yǎng)生產(chǎn)線專日lleq<allworkteam3,854工模具加工踐^alleq^allmat^allworkteam外委生產(chǎn)蛭^alleq^allmat^allworkteam跟蹤sqlDEBUG[mondrian.rolap.RolapUtil]Segment.load:executingsql[select"FS_WORKCENTER"."WCNO"as"c0","AGG_2_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"as"cl","AGG_2_QUARTER_DC_JOBCOLLECT"."THE_YEAR"as"c2",sum("AGG_2_QUARTER_DC_JOBCOLLECT"."JCPASSQUANTITY")as"mO"from"FS_WORKCENTER""FS_WORKCENTER","AGG_2_QUARTER_DC_JOBCOLLECT""AGG_2_QUARTER_DC_JOBCOLLECT"where"AGG_2_QUARTER_DC_JOBCOLLECT"."JODNO"="FS_WORKCENTER"."WCNO"and"AGG_2_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"='1'and"AGG_2_QUARTER_DC_JOBCOLLECT"."THE_YEAR"='2004'groupby"FS_WORKCENTER"."WCNO","AGG_2_QUARTER_DC_JOBCOLLECT"."THE_QUARTER","AGG_2_QUARTER_DC_JOBCOLLECT"."THE_YEAR"],16ms若不設(shè)置聚集表,則查詢sql如下DEBUG[mondrian.rolap.RolapUtil]Segment.load:executingsql[select"FS_WORKCENTER"."WCNO"as"c0","DC_TIME"."THE_QUARTER"as"c1","DC_TIME"."THE_YEAR"as"c2",sum("DC_JOBCOLLECT"."JCPASSQUANTITY")as"m0"from"FS_WORKCENTER""FS_WORKCENTER","DC_JOBCOLLECT""DC_JOBCOLLECT","DC_TIME""DC_TIME"where"DC_JOBCOLLECT"."JODNO"="FS_WORKCENTER"."WCNO"and"DC_JOBCOLLECT"."JCCOLLECTTIME"="DC_TIME"."TIME_ID"and"DC_TIME"."THE_QUARTER"='1'and"DC_TIME"."THE_YEAR"='2004'groupby"FSWORKCENTER"."WCNO","DCTIME"."THEQUARTER","DCTIME"."THEYEAR"],344ms123?5時(shí)間比較(在Toad中執(zhí)行使用和未使用聚集表的sql語句比較執(zhí)行時(shí)間)select"FS_WORKCENTER"."WCNO"as"c0","DC_TIME"."THE_QUARTER"as"c1","DC_TIME"."THE_YEAR"as"c2",sum("DC_JOBCOLLECT"."JCPASSQUANTITY")as"m0"from"FS_WORKCENTER""FS_WORKCENTER","DC_JOBCOLLECT""DC_JOBCOLLECT","DC_TIME""DC_TIME"where"DC_JOBCOLLECT"."JODNO"="FS_WORKCENTER"."WCNO"and"DC_JOBCOLLECT"."JCCOLLECTTIME"="DC_TIME"."TIME_ID"and"DC_TIME"."THE_QUARTER"='1'and"DC_TIME"."THE_YEAR"='2004'groupby"FS_WORKCENTER"."WCNO","DC_TIME"."THE_QUARTER","DC_TIME"."THE_YEAR"時(shí)間:343msecsselect"FS_WORKCENTER"."WCNO"as"c0","AGG_2_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"as
Cl",AGG_2_QUARTER_DC_J0BC0LLECT"."THE_YEAR"asc2",Cl",AGG_2_QUARTER_DC_J0BC0LLECT"."THE_YEAR"asc2",sum("AGG_2_QUARTER_DC_J0BC0LLECT"."JCPASSQUANTITY")as"mO"from"FS_WORKCENTER""FS_WORKCENTER","AGG_2_QUARTER_DC_JOBCOLLECT""AGG_2_QUARTER_DC_JOBCOLLECT"whereFS_WORKCENTER"."WCNO='1'andandFS_WORKCENTER"."WCNO='1'andand"AGG_2_QUARTER_DC_JOBCOLLECT"."THE_QUARTER""AGG_2_QUARTER_DC_JOBCOLLECT"."THE_YEAR"='2004'groupby"FS_WORKCENTER"."WCNO","AGG_2_QUARTER_DC_JOBCOLLECT"."THE_QUARTER","AGG_2_QUARTER_DC_JOBCOLLECT"."THE_YEAR"時(shí)間:33msecs1.2.4不必把事實(shí)表中的所有measure作為聚集表的measure目的:對所有維都實(shí)現(xiàn)最粗粒度的聚集,且只包含想要查詢的measure,在保證查詢的基礎(chǔ)上,使聚集表的體積最?。ㄔ诰哂邢嗤瑀ow時(shí),通過減少column)。以快速實(shí)現(xiàn)包含所有維的默認(rèn)allmember和特定measure的查詢語句。在數(shù)據(jù)庫中創(chuàng)建聚集表,并從事實(shí)表選擇數(shù)據(jù)插入到聚集表中創(chuàng)建聚集表createtableAGG_4_DC_JOBCOLLECT(JCPASSQUANTITYNUMBER(10)NOTNULL,FACT_COUNTINTEGERNOTNULL);插入數(shù)據(jù)INSERTINTOAGG_4_DC_JOBCOLLECT(JCPASSQUANTITYFACT_COUNT)SELECTSUM(JCPASSQUANTITY)ASJCPASSQUANTITYCOUNT(*)ASFACT_COUNTFROMDCJOBCOLLECT?2MDX查詢語句select{[Measures].[jcpassquantity]}ONCOLUMNSfrom[workcenter]查詢結(jié)果指標(biāo)12,161指標(biāo)12,16跟蹤sqlselect"AGG_4_DC_J0BC0LLECT"."JCPASSQUANTITY"as"m0"from"AGG_4_DC_JOBCOLLECT""AGG4DCJOBCOLLECT"1.2.5當(dāng)查詢語句中包含[維]?[all成員]目的:測試當(dāng)查詢語句中包含某個(gè)維的all成員時(shí),mondrian選擇從哪個(gè)聚集表中執(zhí)行查詢。?1MDX查詢語句select{[Measures].[jcpassquantity]}ONCOLUMNS,{([time].[alltime].[2004].[l],[Dwcno].[alljodworkcenter],[EQ].[alleq],[pm].[allmat],[wt].[allworkteam])}ONROWSfrom[workcenter]查詢結(jié)果指標(biāo)time>jcpassquantity+112,0跟蹤sqlDEBUG[mondrian.rolap.RolapUtil]Segment.load:executingsql[select"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"as"cO","AGG_3_QUARTER_DC_JOBCOLLECT"."THE_YEAR"as"c1","AGG_3_QUARTER_DC_JOBCOLLECT"."JCPASSQUANTITY"as"m0"from"AGG_3_QUARTER_DC_JOBCOLLECT""AGG_3_QUARTER_DC_JOBCOLLECT"where"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_QUARTER"='1'and"AGG3QUARTERDCJOBCOLLECT"."THEYEAR"='2004'],16ms不存在查詢語句具有相同粒度的聚集表目的:測試當(dāng)不存在與查詢語句具有相同粒度的聚集表時(shí),mondrian選擇從什么樣的聚集表或者從事實(shí)表中進(jìn)行查詢。1?2?6?1MDX查詢語句select{[Measures].[jcpassquantity]}ONCOLUMNS,{[time].[alltime].[2004]}onrowsfrom[workcenter]查詢結(jié)果指標(biāo)time>jcpassquantity<200412,16跟蹤sqlDEBUG[mondrian.rolap.RolapUtil]Segment.load:executingsql[select"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_YEAR"as"c0",sum("AGG_3_QUARTER_DC_JOBCOLLECT"."JCPASSQUANTITY")as"m0"from"AGG_3_QUARTER_DC_JOBCOLLECT""AGG_3_QUARTER_DC_JOBCOLLECT"where"AGG_3_QUARTER_DC_JOBCOLLECT"."THE_YEAR"='2004'groupby"AGG3QUARTERDCJOBCOLLECT"."THEYEAR"],0ms1.3設(shè)置AGGTABLE參數(shù)和查看SQL跟蹤1.3.1Mperties屬性值設(shè)置Mondiran的聯(lián)機(jī)資料,AggregateTables部分有如下參數(shù)說明PropertyTypeDefauItValueDescriptionmondrian.rolap.aggregates.UsebooleanfalseIfsettotrue,thenMondrianusesanyaggregatetablesthathavebeenread.ThesetablesarethenCandidatesforuseinfulfillingMDXqueries.Ifsettofalse,thennoaggregatetablerelatedactivitytakesplaceinMondrian.mondrian.rolap.aggregates.ReadbooleanfalseIfsettotrue,thenMondrianreadsthedatabaseschemaandrecognizesaggregatetables.ThesetablesarethencandidatesforuseinfulfillingMDXqueries.Ifsettofalse,thenaggregatetablewillnotbereadfromthedatabase.Ofcourse,afteraggregatetableshavebeenread,theyareread,sosettingthispropertyfalseafterstartingwiththepropertybeingtrue,hasnoeffect.Mondrianwillnotactuallyusetheaggregatetablesunlessthemondrian.rolap.aggregates.Usepropertyissettotrue.據(jù)此,在Mperties中添加mondrian.rolap.aggregates.Use=truemondrian.rolap.aggregates.Read=trueMperties屬性文件的位置Mondiran的聯(lián)機(jī)資料,COnf;9廿罰0門Guide部分PropertiesMondrianhasapropertiesfiletoallowyoutoconfigurehowitexecutes.TpertiesfileisloadedwhentheexecutingMondrianJARdetectsitneedsproperties,butcanalsobedoneexplicitlyinyourcode.Itlooksinseveralplaces,inthefollowingorder:InthedirectorywhereyoustartedyourJVM(CurrentworkingdirectoryforJVMprocess,java.exeonWin32,javaon*nix).Ifthereisn'pertiesundercurrentworkingdirectoryofJVMprocess,ClassMondrianProperties'pertiesinallofitsclasspaths.Spertiesunder/WEB-INF/classeswhenyoupackMondrianintoaJavawebapplication.Thedemonstrationwebapplicationshavethisconfiguration.因此把perties文件放到mondrian.war\WEB-INF\classes\目錄下。2mondrian選擇聚集表的原則Mondiran的聯(lián)機(jī)資料,AggregateTables中7.1ChoosingbetweenaggregatetablesIfmorethanoneaggregatetablematchesaparticularquery
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- xx品牌運(yùn)營策劃書
- 補(bǔ)鈣知識講座課件
- 靜脈切開術(shù)后護(hù)理
- 急重癥疾病抗感染治療
- 馬蹄內(nèi)翻足課件
- 馬兜鈴腎病課件
- 食品安全追溯體系課件
- 食品安全法節(jié)選培訓(xùn)課件
- 多中心基因數(shù)據(jù)整合:提升疾病診斷效率
- 基層醫(yī)療中可穿戴設(shè)備數(shù)據(jù)隱私保護(hù)策略
- 醫(yī)療器械法規(guī)考試題及答案解析
- 2025年河南體育學(xué)院馬克思主義基本原理概論期末考試筆試題庫
- 2026年廣西出版?zhèn)髅郊瘓F(tuán)有限公司招聘(98人)考試參考題庫及答案解析
- 2026年中國鐵路上海局集團(tuán)有限公司招聘普通高校畢業(yè)生1236人備考題庫及答案詳解1套
- 2026年上海市普陀區(qū)社區(qū)工作者公開招聘備考題庫附答案
- 甘肅省平?jīng)鍪?2025年)輔警協(xié)警筆試筆試真題(附答案)
- 移動(dòng)式工程機(jī)械監(jiān)理實(shí)施細(xì)則
- 買房分手協(xié)議書范本
- 門窗安裝專項(xiàng)施工方案
- 耐克加盟協(xié)議書
- 2026年母嬰產(chǎn)品社群營銷方案與寶媽群體深度運(yùn)營手冊
評論
0/150
提交評論