Oracle英文版培訓(xùn)課件之SQL Tuning:Les14-RW_第1頁(yè)
Oracle英文版培訓(xùn)課件之SQL Tuning:Les14-RW_第2頁(yè)
Oracle英文版培訓(xùn)課件之SQL Tuning:Les14-RW_第3頁(yè)
Oracle英文版培訓(xùn)課件之SQL Tuning:Les14-RW_第4頁(yè)
Oracle英文版培訓(xùn)課件之SQL Tuning:Les14-RW_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

MaterializedViewsObjectivesAftercompletingthislesson,youshouldbeabletodothefollowing:IdentifythecharacteristicsandbenefitsofmaterializedviewsUsematerializedviewstoenablequeryrewritesVerifythepropertiesofmaterializedviewsPerformrefreshesonmaterializedviewsMaterializedViewsAmaterializedview:IsaprecomputedsetofresultsHasitsowndatasegmentandoffers:SpacemanagementoptionsUseofitsownindexesIsusefulfor:ExpensiveandcomplexjoinsSummaryandaggregatedataIfMaterializedViewsAreNotUsedSELECTc.cust_id,SUM(amount_sold)FROMsaless,customerscWHEREs.cust_id=c.cust_idGROUPBYc.cust_id;CREATETABLEcust_sales_sumASSELECTc.cust_id,SUM(amount_sold)ASamountFROMsaless,customerscWHEREs.cust_id=c.cust_idGROUPBYc.cust_id;SELECT*FROMcust_sales_sum;CREATEMATERIALIZEDVIEWcust_sales_mvENABLEQUERYREWRITEASSELECTc.cust_id,SUM(amount_sold)ASamountFROMsaless,customerscWHEREs.cust_id=c.cust_idGROUPBYc.cust_id;SELECTc.cust_id,SUM(amount_sold)FROMsaless,customerscWHEREs.cust_id=c.cust_idGROUPBYc.cust_id;ExecutionPlan0SELECTSTATEMENTOptimizer=ALL_ROWS(Cost=6…)10MAT_VIEWREWRITEACCESS(FULL)OF'CUST_SALES_MV'(MAT_VIEWREWRITE)(Cost=6…)BenefitsofUsingMaterializedViewsHowManyMaterializedViews?Onematerializedviewformultiplequeries:Onematerializedviewcanbeusedtosatisfymultiplequeries.Lessdiskspaceisneeded.Lesstimeisneededformaintenance.Queryrewritechoosesthematerializedviewtouse.Onematerializedviewperquery:IsnotrecommendedbecauseitconsumestoomuchdiskspaceImprovesonequery'sperformanceCreatingMaterializedViews:

SyntaxOptionsCREATEMATERIALIZEDVIEWmview_name[TABLESPACEts_name][PARALLEL(DEGREEn)][BUILD{IMMEDIATE|DEFERRED}][{REFRESH{FAST|COMPLETE|FORCE}[{ONCOMMIT|ONDEMAND}]

|NEVERREFRESH}][{ENABLE|DISABLE}QUERYREWRITE]

ASSELECT…FROM…CreatingMaterializedViews:ExampleCREATEMATERIALIZEDVIEWcost_per_year_mvENABLEQUERYREWRITEASSELECTt.week_ending_day,t.calendar_year,d_subcategory,sum(c.unit_cost)ASdollarsFROMcostsc,timest,productspWHEREc.time_id=t.time_idANDd_id=d_idGROUPBYt.week_ending_day,t.calendar_year,d_subcategory;Materializedviewcreated.TypesofMaterializedViewsMaterializedviewswithaggregatesMaterializedviewscontainingonlyjoinsCREATEMATERIALIZEDVIEWcust_sales_mvASSELECTc.cust_id,s.channel_id,SUM(amount_sold)ASamountFROMsaless,customerscWHEREs.cust_id=c.cust_idGROUPBYc.cust_id,s.channel_id;CREATEMATERIALIZEDVIEWsales_products_mvASSELECTs.time_id,d_nameFROMsaless,productspWHEREd_id=d_id;RefreshMethodsYoucanspecifyhowyouwantyourmaterializedviewstoberefreshedfromthedetailtablesbyselectingoneoffouroptions:COMPLETEFASTFORCENEVERYoucanviewtheREFRESH_METHODintheALL_MVIEWSdatadictionaryview.FullNotesPagesRefreshModesManualrefreshSpecifyONDEMANDoptionByusingtheDBMS_MVIEWpackageAutomaticrefreshSynchronousSpecifyONCOMMIToptionUponcommitofchangestotheunderlyingtablesbutindependentofthecommittingtransactionAutomaticrefreshAsynchronousSpecifyusingSTARTWITHandNEXTclausesDefinesarefreshintervalforthematerializedviewREFRESH_MODEinALL_MVIEWSFullNotesPagesManualRefreshwithDBMS_MVIEWForON

DEMANDrefreshonlyThreeprocedureswiththeDBMS_MVIEWpackage:REFRESHREFRESH_ALL_MVIEWSREFRESH_DEPENDENTMaterializedViews:ManualRefreshSpecificmaterializedviews:ExecDBMS_MVIEW.REFRESH('cust_sales_mv');VARIABLEfailNUMBER;execDBMS_MVIEW.REFRESH_ALL_MVIEWS(:fail);VARIABLEfailNUMBER;execDBMS_MVIEW.REFRESH_DEPENDENT(-:fail,'CUSTOMERS,SALES');Materializedviewsbasedononeormoretables:Allmaterializedviewsdueforrefresh:QueryRewritesIfyouwanttouseamaterializedviewinsteadofthebasetables,aquerymustberewritten.Queryrewritesaretransparenttoapplications.Queryrewritesdonotrequirespecialprivilegesonthematerializedview.Amaterializedviewcanbeenabledordisabledforqueryrewrites.QueryRewritesUseEXPLAIN

PLAN

or

AUTOTRACEtoverifythatqueryrewritesoccur.Checkthequeryresponse:Fewerblocksareaccessed.Responsetimeshouldbesignificantlybetter.EnablingandControlling

QueryRewritesQueryrewritesareavailablewithcost-basedoptimizationonly.

Thefollowingoptimizerhintsinfluencequeryrewrites:REWRITE

NOREWRITE

REWRITE_OR_ERRORQUERY_REWRITE_ENABLED={true|false|force}QUERY_REWRITE_INTEGRITY={enforced|trusted|stale_tolerated}FullNotesPagesQueryRewrite:ExampleEXPLAINPLANFORSELECTt.week_ending_day,t.calendar_year,d_subcategory,sum(c.unit_cost)ASdollarsFROMcostsc,timest,productspWHEREc.time_id=t.time_id...ExecutionPlan0SELECTSTATEMENTOptimizer=ALL_ROWS(Cost…)10MAT_VIEWREWRITEACCESS(FULL)OF'costs_per_year_mv'(MAT_VIEWREWRITE)(Cost…)QueryRewrite:ExampleSELECTt.week_ending_day,t.calendar_year,d_subcategory,sum(c.unit_cost)ASdollarsFROMcostsc,timest,productspWHEREc.time_id=t.time_idANDd_id=d_idANDt.calendar_year='1999'GROUPBYt.week_ending_day,t.calendar_year,d_subcategoryHAVINGsum(c.unit_cost)>10000;SELECTweek_ending_day,prod_subcategory,dollarsFROMcost_per_year_mvWHEREcalendar_year='1999'ANDdollars>10000;VerifyingQueryRewriteCREATEMATERIALIZEDVIEWcust_orders_mvENABLEQUERYREWRITEASSELECTc.customer_id,SUM(order_total)ASamtFROMoe.orderss,oe.customerscWHEREs.customer_id=c.customer_idGROUPBYc.customer_id;SELECT/*+REWRITE_OR_ERROR*/c.customer_id,SUM(order_total)ASamtFROMoe.orderss,oe.customerscWHEREs.customer_id=c.customer_idGROUPBYc.customer_id;ORA-30393:aqueryblockinthestatementdidnotrewriteSQLAccessAdvisorForagivenworkload,theSQLAccessAdvisor:Recommendscreatingtheappropriate:MaterializedviewsMaterializedviewlogsIndexesProvidesrecommendationstooptimizefor:FastrefreshQueryrewriteCanberun:FromOracleEnterpriseManagerbyusingtheSQLAccessAdvisorWizardByinvokingtheDBMS_ADVISORpackageUsingtheDBMS_MVIEWPackageDBMS_MVIEWmethodsEXPLAIN_MVIEWEXPLAIN_REWRITETUNE_MVIEWTuningMaterializedViewsfor

FastRefreshandQueryRewriteDBMS_ADVISOR.TUNE_MVIEW(

task_nameINOUTVARCHAR2,

mv_create_stmtIN[CLOB|VARCHAR2]);ResultsofTune_MVIEWIMPLEMENTATIONrecommendationsCREATEMATERIALIZEDVIEWLOGstatements

ALTERMATERIALIZEDVIEWLOGFORCEstatementsOneormoreCREATEMATERIALIZEDVIEWstatementsUNDOrecommendationsDROPMATERIALIZEDVIEWstatementsFullNotesPagesDBMS_MVIEW.EXPLAIN_MVIEWProcedureAccepts:MaterializedviewnameSQLstatementAdviseswhatisandwhatisnotpossible:ForanexistingmaterializedviewForapotentialmaterializedviewbeforeyoucreateitStoresresultsinMV_CAPABILITIES_TABLE(relationaltable)orinaVARRAYutlxmv.sqlmustbeexecutedasthecurrentusertocreateMV_CAPABILITIES_TABLE.ExplainMaterializedView:ExampleEXECdbms_mview.explain_mview(

'cust_sales_mv','123');SELECTcapability_name,possible,related_text,msgtxtFROMmv_capabilities_tableWHEREstatement_id='123'ORDERBYseq;CAPABILITY_NAMEPRELATED

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論