亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ORACLE物化視圖的電力營銷系統(tǒng)優(yōu)化

        2012-07-05 06:45:50周文瓊王樂球曹重簡璇
        東莞理工學院學報 2012年3期
        關(guān)鍵詞:物化視圖電量

        周文瓊 王樂球 曹重 簡璇

        (1.廣東科學技術(shù)職業(yè)學院,廣東珠海 519080;2.中山大學,廣東珠海 519080;3.南方電網(wǎng)綜合能源有限公司,廣州 510000;4.重慶電力局,重慶 404100)

        在國家電力公司提出發(fā)展“數(shù)字電力”這一大背景下[1],用電營銷系統(tǒng)在各級電網(wǎng)公司得到廣泛應用,80%以上的電力營銷系統(tǒng)采用了ORACLE數(shù)據(jù)庫作為數(shù)據(jù)庫平臺,對于電網(wǎng)公司系統(tǒng)管理員來說,非常希望ORACLE數(shù)據(jù)庫運行穩(wěn)定和性能良好。但是隨著數(shù)據(jù)量的不斷增加,DBA(Database Administrator,數(shù)據(jù)庫管理員)常常面臨著數(shù)據(jù)庫性能問題。下面對一個電力營銷系統(tǒng)實際生產(chǎn)中遇到的案例進行剖析,從中可以領會到Oracle數(shù)據(jù)庫診斷性能的思路和方法,特別是解決SQL性能優(yōu)化問題。

        1 電力營銷系統(tǒng)概述

        用電營銷管理是電力企業(yè)管理工作的重要內(nèi)容,主要承擔電能銷售和社會應用管理工作,是電力生產(chǎn)供銷的最后環(huán)節(jié),也是電力工業(yè)生產(chǎn)和經(jīng)營成果的最終體現(xiàn)。用電營銷的業(yè)務主管部門是營銷部,其主管業(yè)務包括:用電審批、核算發(fā)行、電費收繳、購電發(fā)行、設備管理、指標查詢、線損分析和客戶管理等,是供電公司直接面向廣大電力客戶的窗口。

        電力營銷管理系統(tǒng)基于現(xiàn)代計算機與通信技術(shù),是將電力營銷工作進行信息化管理的綜合信息系統(tǒng)[2]。從20世紀90年代初的“用電管理信息系統(tǒng)”開始,電力營銷信息化經(jīng)過了二十多年的開發(fā)和建設,以地市級為單位的管理系統(tǒng)己經(jīng)建立起來,能夠高效地完成用電經(jīng)營管理的日常工作,輔助領導優(yōu)化決策,顯著提高了企業(yè)的用電管理水平和工作效率。

        1.1 系統(tǒng)功能結(jié)構(gòu)

        根據(jù)用電營銷業(yè)務的專業(yè)分工,目前綜合性的電力營銷系統(tǒng)一般分為五個子系統(tǒng),即營銷業(yè)務管理、電量采集、客戶繳費、客戶服務等四個業(yè)務子系統(tǒng),加上營銷與服務監(jiān)管子系統(tǒng),形成“4+1”的核心框架。如圖1所示。

        其中營銷業(yè)務子系統(tǒng)是用電營銷系統(tǒng)的核心模塊,支持供電公司業(yè)擴、抄核收、計量、用電檢查以及業(yè)務稽查等日常營銷業(yè)務的處理,是其它模塊實施的基礎;電量采集子系統(tǒng)利用調(diào)度實時系統(tǒng)、配電信息采集系統(tǒng)等系統(tǒng)的數(shù)據(jù)采集功能,將購電側(cè)、供電側(cè)、銷售側(cè)三個環(huán)節(jié)的實時信息整合在一起,形成購、供、售三個環(huán)節(jié)實時信息的統(tǒng)一監(jiān)控;客戶繳費子系統(tǒng)與銀行交易系統(tǒng)同共形成統(tǒng)一的銀行信息交互與交易結(jié)算的銀聯(lián)交易體系;客戶服務子系統(tǒng)是通過電話、傳真、網(wǎng)站、短信等手段,實現(xiàn)營業(yè)廳、電話、網(wǎng)站三維一體的客戶服務平臺。

        圖1 電力營銷系統(tǒng)功能結(jié)構(gòu)圖

        1.2 系統(tǒng)的業(yè)務結(jié)構(gòu)

        目前,省供電公司的營銷業(yè)務是由幾級組織共同組成的縱橫向綜合在一起的系統(tǒng)結(jié)構(gòu)。

        1)從橫向看,它分為以下幾個層次:

        a)從省供電公司橫向看有營銷處、財務處、生計處、計劃處等;b)從省下屬分公司 (地市級供電公司)橫向看有用電科、財務科、生計科、計劃科等;c)從地市下屬子公司 (縣級供電公司)橫向看有用電股、財務股、生計股、計劃股等;d)從縣 (市)下屬鎮(zhèn)級供電公司橫向看有用電班、財務班、生計班、計劃班等。

        2)從縱向看,各層次有如下關(guān)系:

        由于地市級分公司因其所在城市是其供電地區(qū)的負荷中心、業(yè)務中心和利潤中心,它除了實現(xiàn)供用電企業(yè)產(chǎn)、供、銷環(huán)節(jié)的業(yè)務之外,還代集團公司管理本供電地區(qū)控股的縣市級子公司,受省電力集團公司委托代管當?shù)卣毓傻目h市級子公司和躉售子公司,因而產(chǎn)生按業(yè)務分類產(chǎn)生的營銷、財務、生技、計劃等縱向管理關(guān)系。

        1.3 數(shù)據(jù)庫服務器運行環(huán)境

        系統(tǒng)數(shù)據(jù)庫服務器的配置環(huán)境如表1所示。

        表1 數(shù)據(jù)庫服務器配置環(huán)境

        1.4 居民用戶電量電費的數(shù)據(jù)模型

        本文涉及的性能問題是“用戶電量突變分析”(居民用戶),該模塊對抄表質(zhì)量的稽查非常重要?!坝秒婋娏客蛔兎治觥敝饕檎矣须娏客辉鐾粶p等異常現(xiàn)象的用戶,以便發(fā)現(xiàn)錯抄問題或設備故障問題。

        電力用戶分為高壓用戶、低壓用戶和居民用戶,三類用戶報裝流程和管理方式各不相同,居民用戶具有信息簡單、數(shù)據(jù)量大的特點,“用戶電量突變分析”模塊涉及的數(shù)據(jù)庫模型圖如圖2所示。

        1.5 數(shù)據(jù)量評估

        用電營銷系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)量的評估如表2所示。

        表2 用電營銷系統(tǒng)主要業(yè)務數(shù)據(jù)量評估

        圖2 居民電費臺賬數(shù)據(jù)庫模型

        2 ORACLE數(shù)據(jù)庫SQL優(yōu)化

        在基于ORACLE數(shù)據(jù)庫的電力實際應用中,80%的性能問題是由于用戶使用了不恰當?shù)腟QL查詢語句造成的,因此優(yōu)化SQL語句尤其是復雜SQL語句可以提升整個系統(tǒng)的運行效率。在集中式ORACLE數(shù)據(jù)庫中,SQL查詢的執(zhí)行總代價主要包括:I/0代價、CPU代價和內(nèi)存代價,調(diào)整影響執(zhí)行效率的三大因素可以減少系統(tǒng)總代價。SQL語句優(yōu)化的步驟如圖3所示。

        2.1 使用AUTOTRACE功能輔助SQL優(yōu)化

        Oracle數(shù)據(jù)庫的客戶端工具SQL*PLUS提供了AUTOTRACE功能,可以跟蹤SQL的執(zhí)行計劃,并收集統(tǒng)計信息,經(jīng)常被作為SQL的優(yōu)化工具之一被使用[3]。

        2.1.1 啟用AUTOTRACE功能

        在Oracle 11g,運行MYMORACLE_HOME dbmsadminutlxplan.sql腳本創(chuàng)建plan_table表,便可啟動該功能。

        2.1.2 使用AUTOTRACE功能

        AUTOTRACE常用選項如下:

        2.2 Oracle物化視圖

        圖3 SQL優(yōu)化步驟

        物化視圖 (MV,Materialized Views)從Oracle8i被引入,也被稱為快照,物化視圖是包括一個查詢結(jié)果的數(shù)據(jù)庫對像,它通過預計算或匯總構(gòu)建獨立存貯,MV將查詢結(jié)果存儲在一個段中,當用戶提交查詢時返回查詢結(jié)果,而不需要重新執(zhí)行查詢,從而極大提高相關(guān)性能。物化視圖是典型的以空間換時間的手段,通過物化視圖,Oracle可以實現(xiàn)更少的邏輯讀取,更少的寫操作,更少的cpu消耗及更快的響應速度[4]。

        用SQL創(chuàng)建物化視圖的常用語法如下:

        主要參數(shù)的含義如下:

        1)refresh:視圖刷新的方式。

        ·fast:增量刷新。只刷新自上次刷新以后進行的修改,假設前一次刷新的時間為t1,那么使用fast模式刷新物化視圖時,只向視圖中添加t1到當前時間段內(nèi),主表變化過的數(shù)據(jù)。為了記錄這種變化,建立增量刷新物化視圖還需要一個物化視圖日志表。create materialized view log on(主表名)。

        ·complete:全部刷新,相當于重新執(zhí)行一次創(chuàng)建視圖的查詢語句。

        ·force:默認方式。如可以使用fast模式時,采用fast方式;否則采用complete方式。

        2)on:數(shù)據(jù)刷新的時間:

        ·on demand:在用戶需要刷新的時候刷新;

        ·on commit:當主表數(shù)據(jù)提交時,立即刷新MV中的數(shù)據(jù);

        ·start with:從指定的時間開始;

        ·next:每隔指定時間刷新一次。

        3 電力營銷系統(tǒng)遇到的問題及解決過程

        3.1 問題描述

        系統(tǒng)運行初期,“用戶電量突變分析”模塊運作正常,問題出現(xiàn)約在系統(tǒng)運行一年后,操作員及技術(shù)員同時報告該模塊運行緩慢。

        以下是問題診斷和解決過程,由于這個模塊不影響其他正常營銷業(yè)務,選擇在下班后進行診斷。我們進入該模塊,做好初始選擇后,單擊【確定】進行查詢。

        3.2 登錄數(shù)據(jù)庫獲取等待事件

        系統(tǒng)界面一直處于等待狀態(tài),檢查系統(tǒng)CPU和進程狀況,判斷數(shù)據(jù)庫經(jīng)歷等待后,我們查詢v$session_wait獲取各進程等待事件:

        發(fā)現(xiàn)存在db file sequential read等待,表明全表掃描操作成為該模塊的性能影響因素。

        3.3 捕獲相關(guān)SQL

        下面的腳本通過上述獲取等待事件session的SID,獲取影響性能的問題SQL:

        3.4 使用AUTOTRACE跟蹤SQL執(zhí)行

        定位到問題SQL后,將問題SQL編輯成腳本文件qSql.sql,檢查該SQL的執(zhí)行計劃:

        3.5 分析問題

        問題SQL訪問數(shù)據(jù)的條件為:絕對值 (本期有功電量-上期有功電量)/上期有功電量>0.3

        該條件的意義是查找電量增加或減少幅度超過30%的數(shù)據(jù),訪問的v_JMDLDF實際上是一個視圖,查詢視圖創(chuàng)建語句:

        從上面的SQL執(zhí)行計劃可以看出,SQL調(diào)用了四個底層表,邏輯讀高達1538827。降低邏輯讀是解決問題的關(guān)鍵。SQL涉及的四個底層表分別是:CSB(參數(shù)表)、JMDLDF_HIS(居民電量電費歷史表)、JMDLDF(居民電量電費當月表)和JMYH(居民用戶表),其中:CSB查詢當前的計費年月,數(shù)據(jù)量非常小;JMDLDF_HIS查詢上月的有功電量信息,雖然按年度做了分區(qū)表,但一年的數(shù)據(jù)約600萬行,該SQL對其做了全表掃描,導致模塊執(zhí)行緩慢;JMDLDF查詢當月的有功電量信息,約50萬行數(shù)據(jù);JMYH根據(jù)戶號查詢居民的用戶信息,約50行數(shù)據(jù)。

        3.6 解決問題

        每月居民電量電費信息與居民用戶信息的數(shù)量相當,約為50萬行,因此我們可以建立一個物化視圖,生成包含約50萬行數(shù)據(jù)的電量對比數(shù)據(jù),而非每次查詢時再去三張大規(guī)?;碜鲞B接查詢;再在該物化視圖上創(chuàng)建基于函數(shù)的索引。

        1)創(chuàng)建物化視圖。

        2)創(chuàng)建基于函數(shù)的索引。

        3)查詢電量突變用戶信息的SQL。

        3.7 診斷結(jié)果及分析

        優(yōu)化后系統(tǒng)性能大大提高,主要指標對比如表3所示,SQL執(zhí)行時間優(yōu)化前后比較棒圖如圖4所示。

        表3 數(shù)據(jù)庫服務器配置環(huán)境

        圖4 優(yōu)化前后比較

        使用物化視圖Vm_JMDLDF代替普通視圖V_JMDLDF,系統(tǒng)“用戶電量突變分析”模塊速度大大提高,而且前端的應用程序不需要做任何的修改。性能何以提高的原因如下:

        1)物化視圖的使用:視圖是外模式的基本單位,常常在應用系統(tǒng)中使用視圖,對視圖的查詢,Oracle都實際上轉(zhuǎn)換為視圖SQL語句的查詢,而物化視圖是一種特殊的物理表,可以提高系統(tǒng)查詢性能。

        2)基于函數(shù)索引的建立:索引是影響SQL語句性能的一個重要因素,建立合適的索引可以避免全表掃描減少I/0開銷,提高數(shù)據(jù)查詢速度。普通視圖上無法創(chuàng)建索引,而在物化視圖上可以創(chuàng)建索引;基于函數(shù)的索引是ORACLE 8i的新特性,它易于使用并且提供計算好的值,在不修改應用程序的邏輯上提高了查詢性能。

        4 結(jié)語

        Oracle的物化視圖功能強大,值得去研究和探索。本文針對電力營銷系統(tǒng)應用中出現(xiàn)的性能問題,結(jié)合實際用電營銷業(yè)務,提供了創(chuàng)建物化視圖的解決思路和和方案,該問題的圓滿解決取決于用戶對Oracle數(shù)據(jù)庫和電力企業(yè)業(yè)務的了解。隨著企業(yè)信息化進程的加速,企業(yè)管理信息系統(tǒng)中的數(shù)據(jù)量的持續(xù)上升,數(shù)據(jù)庫性能的優(yōu)化將越來越引起人們的重視[6]。

        [1]周文瑜,王濤,沈又幸.用電營銷決策支持系統(tǒng)的研究與開發(fā)[J].電網(wǎng)技術(shù),2006,30(S):540-543.

        [2]馬力克,郭斌.寧夏電力公司營銷信息化管理平臺構(gòu)建[J].中國電力,2009,04:654-69.

        [3]Bob Bryla,Biju Thomas.Oracle Database 10G New Features For Administrators Study Guide[M].Burr Ridge:McGraw - Hill,2005:351 -398.

        [4]Sam R.Alapati,Charles Kim.Oracle數(shù)據(jù)庫管理藝術(shù)11g新特性[M].北京:人民郵電出版社,2009.

        [5]蓋國強.深入淺出Oracle DBA入門、進階與診斷案例[M].北京:人民郵電出版社,2006.

        [6]高原,耿國華,劉曉寧.Oracle數(shù)據(jù)庫系統(tǒng)事后優(yōu)化研究[J].計算機工程與應用,2005,2:181-182.

        猜你喜歡
        物化視圖電量
        電量越低越透明的手機
        四川2018年7月轉(zhuǎn)讓交易結(jié)果:申報轉(zhuǎn)讓電量11.515 63億千瓦時
        5.3 視圖與投影
        視圖
        Y—20重型運輸機多視圖
        SA2型76毫米車載高炮多視圖
        電量隔離傳感器測試儀的研制
        物的人化與人的物化——當代舞臺美術(shù)的表演
        檔案:一種物化的文化形態(tài)
        學習月刊(2015年16期)2015-07-09 05:39:16
        北斗通信在小型水電廠電量采集中的應用
        国产精品自在拍在线拍| 亚洲国产精品成人av| 亚洲不卡高清av在线| 亚洲美女毛多水多免费视频| 国产综合色在线精品| 男人靠女人免费视频网站| 亚洲熟妇av乱码在线观看| AV中文码一区二区三区| 男女动态视频99精品| 亚洲精品国产精品乱码视色| 2019日韩中文字幕mv| 午夜不卡av免费| 日本一区二区三区激情视频| 日韩十八禁在线观看视频| 国产成人自拍视频播放| 无码国产精品久久一区免费| 人禽伦免费交视频播放| 加勒比黑人在线| 丁香婷婷激情俺也去俺来也| 国产精品精品国产色婷婷| 欧美69久成人做爰视频| 精品久久久久久中文字幕| 亚洲AⅤ樱花无码| 亚洲精品中文字幕熟女| 中国久久久一级特黄久久久| 亚洲欧美乱综合图片区小说区 | 免青青草免费观看视频在线| 亚洲综合色视频在线免费观看| 在线观看亚洲av每日更新影片| 亚洲欧美日韩精品久久| 欧美 国产 日产 韩国 在线 | 亚洲国产精品日韩av不卡在线| 亚洲区日韩精品中文字幕| 日韩av中文字幕亚洲天| 国产精品日韩av一区二区三区| 乱码1乱码2美美哒| 精品人人妻人人澡人人爽牛牛| 亚洲成a人片77777kkkkk| 亚洲国产精品久久久婷婷| 无码av中文一区二区三区| 国产在线精品一区二区|