电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Oracle中管理物化視圖變得更加容易

瀏覽:45日期:2023-11-13 14:06:24
利用強制查詢重寫和新的強大的調整顧問程序 — 它們使您不再需要憑猜測進行工作 ,在 10g 中治理物化視圖變得更加輕易。 物化視圖 (MV) — 也稱為快照,已經廣泛使用。MV 在一個段中存儲查詢結果,并且能夠在提交查詢時將結果返回給用戶,從而不再需要重新執行查詢 — 在查詢要執行幾次時(這在數據倉庫環境中非經常見),這是一個很大的好處。物化視圖可以利用一個快速刷新機制從基礎表中全部或增量刷新。 假定您已經定義了一個物化視圖,如下: create materialized view mv_hotel_resvrefresh fastenable query rewriteasselect distinct city, resv_id, cust_namefrom hotels h, reservations r where r.hotel_id = h.hotel_id'; 您如何才能知道已經為這個物化視圖創建了其正常工作所必需的所有對象?在 Oracle 數據庫 10g 之前,這是用 DBMS_MVIEW 程序包中的 EXPLAIN_MVIEW 和 EXPLAIN_REWRITE 過程來判定的。這些過程(在 10g 中仍然提供)非常簡要地說明一種特定的功能 — 如快速刷新功能或查詢重寫功能 — 可能用于上述的物化視圖,但不提供如何實現這些功能的建議。相反,需要對每一個物化視圖的結構進行目視檢查,這是非常不實際的。 在 10g 中,新的 DBMS_ADVISOR 程序包中的一個名為 TUNE_MVIEW 的過程使得這項工作變得非常輕易:您利用 IN 參數來調用程序包,這構造了物化視圖創建腳本的全部內容。該過程創建一個顧問程序任務 (Advisor Task),它擁有一個特定的名稱,僅利用 OUT 參數就能夠把這個名稱傳回給您。 下面是一個例子。因為第一個參數是一個 OUT 參數,所以您需要在 SQL*Plus 中定義一個變量來保存它。 SQL> -- 首先定義一個變量來保存 OUT 參數: SQL> var adv_name varchar2(20)SQL> begin2 dbms_advisor.tune_mview 3 (4:adv_name,5'create materialized view mv_hotel_resv refresh fast enable query rewrite asselect distinct city, resv_id, cust_name from hotels h, reservations r where r.hotel_id = h.hotel_id');6* end; 現在您可以在該變量中找出顧問程序的名稱。 SQL> print adv_nameADV_NAME-----------------------TASK_117接下來,通過查詢一個新的 DBA_TUNE_MVIEW 來獲取由這個顧問程序提供的建議。務必在運行該命令之前執行 SET LONG 999999,因為該視圖中的列語句是一個 CLOB,默認情況下只顯示 80 個字符。 select script_type, statement from  dba_tune_mview where task_name = 'TASK_117' order by script_type, action_id;下面是輸出:  SCRIPT_TYPESTATEMENT-------------- ------------------------------------IMPLEMENTATION CREATE MATERIALIZED VIEW LOG ON 'ARUP'.'HOTELS' WITH ROWID,SEQUENCE ('HOTEL_ID','CITY') INCLUDING NEW VALUESIMPLEMENTATION ALTER MATERIALIZED VIEW LOG FORCE ON 'ARUP'.'HOTELS' ADDROWID, SEQUENCE ('HOTEL_ID','CITY') INCLUDING NEW VALUESIMPLEMENTATION CREATE MATERIALIZED VIEW LOG ON 'ARUP'.'RESERVATIONS' WITHROWID, SEQUENCE ('RESV_ID','HOTEL_ID','CUST_NAME')INCLUDING NEW VALUESIMPLEMENTATION ALTER MATERIALIZED VIEW LOG FORCE ON 'ARUP'.'RESERVATIONS'ADD ROWID, SEQUENCE ('RESV_ID','HOTEL_ID','CUST_NAME')INCLUDING NEW VALUESIMPLEMENTATION CREATE MATERIALIZED VIEW ARUP. MV_HOTEL_RESV  REFRESH FASTWITH ROWID ENABLE QUERY REWRITE AS SELECTARUP.RESERVATIONS.CUST_NAME C1, ARUP.RESERVATIONS.RESV_IDC2, ARUP.HOTELS.CITY C3, COUNT(*) M1 FROM ARUP.RESERVATIONS,ARUP.HOTELS WHERE ARUP.HOTELS.HOTEL_ID =ARUP.RESERVATIONS.HOTEL_ID GROUP BYARUP.RESERVATIONS.CUST_NAME, ARUP.RESERVATIONS.RESV_ID,ARUP.HOTELS.CITYUNDO  DROP MATERIALIZED VIEW ARUP.MV_HOTEL_RESVSCRIPT_TYPE 列顯示建議的性質。大多數行將要執行,因此名稱為 IMPLEMENTATION。假如接受,則需按照由 ACTION_ID 列指出的特定順序執行建議的操作。 假如您仔細查看這些自動生成的建議,那么您將注重到它們與您自己通過目視分析生成的建議是類似的。這些建議合乎邏輯;快速刷新的存在需要在擁有適當子句(如那些包含新值的子句)的基礎表上有一個 MATERIALIZED VIEW LOG。STATEMENT 列甚至提供了實施這些建議的確切 SQL 語句。 在實施的最后一個步驟中,顧問程序建議改變創建物化視圖的方式。注重我們的例子中的不同之處:將一個 count(*) 添加到了物化視圖中。因為我們將這個物化視圖定義為可快速刷新的,所以必須有 count(*),以便顧問程序糾正遺漏。 TUNE_MVIEW 過程不僅在建議方面超越了在 EXPLAIN_MVIEW 和 EXPLAIN_REWRITE 中提供的功能,還為創建相同的物化視圖指出了更輕易和更高效的途徑。有時,顧問程序可以實際推薦多個物化視圖,以使查詢更加高效。您可能會問,假如任何一個經驗豐富的 DBA 都能夠找出 MV 創建腳本中缺了什么,然后自己糾正它,那這還有什么用?嗯,顧問程序正是用來完成這項工作的:它是一位經驗豐富、高度自覺的自動數據庫治理員,它可以生成能與人的建議相媲美的建議,但有一個非常重要的不同之處:它免費工作,并且不會要求休假或加薪。這一好處使高級 DBA 解放出來,將日常的工作交給較低級的 DBA,從而答應他們將其專業技能應用到更具有戰略意義的目標上。 您還可以將顧問程序的名稱作為值傳遞給 TUNE_MVIEW 過程中的參數,這將使用該名稱而非系統生成的名稱生成一個的顧問程序。 更輕易的實施 既然您可以看到建議,那么您可能想實施它們。一種方式是選擇列 STATEMENT,假脫機到一個文件,然后執行該腳本文件。一種更輕易的替代方法是調用附帶的封裝過程: begindbms_advisor.create_file (dbms_advisor.get_task_script ('TASK_117'), 'MVTUNE_OUTDIR','mvtune_script.sql');end;/該過程調用假定您已經定義了一個目錄對象,例如: create Directory mvtune_outdir as '/home/oracle/mvtune_outdir';對 dbms_advisor 的調用將在 /home/oracle/mvtune_outdir 目錄中創建一個名為mvtune_script.sql 的文件。假如您查看一下這個文件,您將看到: Rem SQL Access Advisor:Version 10.1.0.1 - ProdUCtionRemRem Username:ARUPRem Task:TASK_117Rem Execution date:Remset feedback 1set linesize 80set trimspool onset tab offset pagesize 60whenever sqlerror CONTINUECREATE MATERIALIZED VIEW LOG ON'ARUP'.'HOTELS'WITH ROWID, SEQUENCE('HOTEL_ID','CITY')INCLUDING NEW VALUES;ALTER MATERIALIZED VIEW LOG FORCE ON'ARUP'.'HOTELS'ADD ROWID, SEQUENCE('HOTEL_ID','CITY')INCLUDING NEW VALUES;CREATE MATERIALIZED VIEW LOG ON'ARUP'.'RESERVATIONS'WITH ROWID, SEQUENCE('RESV_ID','HOTEL_ID','CUST_NAME')INCLUDING NEW VALUES;ALTER MATERIALIZED VIEW LOG FORCE ON'ARUP'.'RESERVATIONS'ADD ROWID, SEQUENCE('RESV_ID','HOTEL_ID','CUST_NAME')INCLUDING NEW VALUES;CREATE MATERIALIZED VIEW ARUP.MV_HOTEL_RESVREFRESH FAST WITH ROWIDENABLE QUERY REWRITEAS SELECT ARUP.RESERVATIONS.CUST_NAME C1, ARUP.RESERVATIONS.RESV_ID C2, ARUP.HOTELS.CITYC3, COUNT(*) M1 FROM ARUP.RESERVATIONS, ARUP.HOTELS WHERE ARUP.HOTELS.HOTEL_ID= ARUP.RESERVATIONS.HOTEL_ID GROUP BY ARUP.RESERVATIONS. CUST_NAME, ARUP.RESERVATIONS.RESV_ID,ARUP.HOTELS.CITY;whenever sqlerror EXIT SQL.SQLCODEbegindbms_advisor.mark_recommendation('TASK_117',1,'IMPLEMENTED');end;/ 這個文件包含了您實施建議所需的一切,從而為您省去了相當大的手動創建文件的麻煩。這個自動數據庫治理員又一次能夠為您完成工作。
標簽: Oracle 數據庫
主站蜘蛛池模板: 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | TPM咨询,精益生产管理,5S,6S现场管理培训_华谋咨询公司 | 最新电影-好看的电视剧大全-朝夕电影网 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 储能预警-储能消防系统-电池舱自动灭火装置-四川千页科技股份有限公司官网 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | 天助网 - 中小企业全网推广平台_生态整合营销知名服务商_天助网采购优选 | 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 耐酸泵,耐酸泵厂家-淄博华舜耐腐蚀真空泵 | 吊篮式|移动式冷热冲击试验箱-二槽冷热冲击试验箱-广东科宝 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 北京租车牌|京牌指标租赁|小客车指标出租 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 成都中天自动化控制技术有限公司 | 整合营销推广|营销网络推广公司|石家庄网站优化推广公司|智营销 好物生环保网、环保论坛 - 环保人的学习交流平台 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 红酒招商加盟-葡萄酒加盟-进口红酒代理-青岛枞木酒业有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 工控机-图像采集卡-PoE网卡-人工智能-工业主板-深圳朗锐智科 | 东莞螺丝|东莞螺丝厂|东莞不锈钢螺丝|东莞组合螺丝|东莞精密螺丝厂家-东莞利浩五金专业紧固件厂家 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 吨袋包装机|吨包秤|吨包机|集装袋包装机-烟台华恩科技 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 不锈钢发酵罐_水果酒发酵罐_谷物发酵罐_山东誉诚不锈钢制品有限公司 | 桨叶搅拌机_螺旋挤压/方盒旋切造粒机厂家-无锡市鸿诚输送机械有限公司 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 |