999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談數據庫對電信計費的優化及應用

2012-12-31 00:00:00楊建慶
科技資訊 2012年35期

摘 要:隨著數據庫應用系統中數據的增加,系統的響應速度成為系統設計中需要解決的主要問題。由于用戶對數據庫的要求越來越高,因此必須對數據庫進行優化。系統優化的一個很重要的方面就是SQL語句本身的優化,文章從應用的角度論述了SQL語句優化的一些方法。

關鍵詞:數據庫 優化 SQL Oracle

中圖分類號:TP3 文獻標識碼:A 文章編號:1672-3791(2012)12(b)-0031-01

在信息化告訴發展的今天,數據庫的競爭和更新技術日新月異,部署有ERP、CRM等關鍵應用的企業中,數據庫是不可或缺的組成部分。本文結合Orac數據庫,并通過多年的工作經驗,談談SQL的一些優化方法在計費帳務核查中應用。

1 SQL的一些優化方法在計費帳務稽核中的應用

在目前的帳務稽核中,所有的檢查都是通過編寫SQL語句向數據庫提交需求的,面對全省同時提交的數百個數據需求,服務器接受的任務過多,往往會出現任務被吊起、長時間不響應的現象,甚至影響了帳務結算工作。經過核查,造成死鎖的原因很大部分是因為提交的語句存在各種語法或邏輯問題,易造成死鎖,極大的浪費了系統資源。因此必須對編寫和提交的SQL語句進行優化,減少系統資源被無效占用和損耗,這是提高帳務結算及稽核效率,按期完成工作的前提。

1.1 依據“共享池中重用SQL語句”的原則,規定統一的語句語法

Oracle提供在數據庫中存儲代碼的能力。當應用系統開始運行時,從數據庫中讀取代碼傳遞到共享池中去處理。從數據庫中取出的代碼是編譯過的并駐留在共享池中。當SQL語句被傳遞給Oracle處理時,如果Oracle接受了一個與共享池中的語句相一致的語句,就重用共享池中的語句。兩條SQL語句必須是語法、文本完全相同,才能視為可共享的SQL,利用Oracle的共享區。

帳務稽核工作是由全省各地本地網的人員同時參與,人員較多且語句的編寫思路均存在差異,但最終的需求是一致的,依據共享原則,由區公司帳務處理部門按照稽核要求和內容,規定稽核點和稽核方法,下發經過整理的具有標準格式、大小寫以及相同變量等遵循約定的稽核語句和過程,從而可以最大限度的重用共享池中的SQL語句。

1.2 對索引的有效利用

在Oracel的執行規則中,如果目標表無索引、語句中無條件限定、條件指定為NULL或者是不相等、或將條件在表達式里使用以及使用Like操作以及值以‘%’開始等等,系統會進行全表掃描,效率低下,因此在語句的編寫中應避免上述情況,盡量采用能夠使用索引的條件,對于必須使用到的列在使用前務必建立相應的索引。

最基本的客戶、賬戶、用戶三級關系,在查詢或其他應用中均會用到這三列,系統內的表在這三列上均建有索引,因此在進行帳務稽核或者后期的數據提取中,應對涉及到此字段的臨時表建立相同的單列索引,在有索引的列上進行條件限定,如下實例:

(1)及時建立索引:

create table tmp_alt_check_1009 as

select*from tmp_alt_check_1009_dsb

union all

select*from tmp_alt_check_1009_yhz;

create index tmp_alt_check_1009_serv on tmp_alt_check_1009 (serv_id);

create index tmp_alt_check_1009_cust on tmp_alt_check_1009 (cust_id);

create index tmp_alt_check_1009_acct on tmp_alt_check_1009 (acct_id);

上述應用中對新建表tmp_alt_check_1009分別建立了serv_id,acct_id,cust_id的單列索引,以便在其后的使用中提高搜索效率。

(2)條件限定時避免使用Like操作或者限定值以‘%’開始,不使用NULL或者是不相等。

如:將select*from product_offer_t where region_id like‘1020%’;

替換為:

select*from product_offer_t where region_id=’1020’;

將select*from product_offer_t

Where pricing_pla_id is not null or pricing_pla_id<>0;

替換為:

select*from product_offer_t Where pricing_pla_id>0;

通過以上細節的注意和替換,可避免系統對全表進行掃描,有效利用索引,提高系統響應效率。

1.3 使用選擇性好的索引

索引的選擇性是指索引列里不同值的數目與表中記錄數的比。最好的可能性選擇是1.0,即表內索引列上無重復記錄。

在做帳務稽核中,常常會基于某種條件和需求建立一些臨時表,并為臨時表建立索引,在臨時表的建立和使用中,應判斷建立索引的字段的選擇性和有效性的好壞,避免低效率的操作和資源的浪費。

1.4 根據實際情況區別使用UNION ALL和UNION操作

最常用的集操作是UNION和UNION ALL操作,UNION操作使多個記錄集聯結成為單個集,返回記錄的單個集并且沒有重復的行,進行表鏈接后會對所產生的結果集進行排序運算,刪除重復的記錄再返回結果。UNION ALL是一個行操作,操作允許重復,不要求SORT UNIQUE操作,從而節省了開銷。當UNION ALL操作產生巨大的結果集時,不需要任何排序便返回記錄給應用,檢索的響應時間更快,對臨時空間的要求也更低。

在稽核過程中,需要根據需求確定是否需要濾重,盡量避免不需濾重的情況下而用UNION操作,如果作為結果子集時,更應該避免使用UNION操作,浪費排序的時間和空間資源。

稽核中最常見的需求是對營業區或著支局或某個帳目、事件等產生的費用或話務量進行與歷月的對比,以確定發生的數據是否脫離了正常規律,結果是否正確。若采用UNION會把重復記錄濾除掉,結果是不符合需求的,且采用UNION ALL操作,系統的響應速度更快,最終根據需求確定此類稽核都需要采用UNION ALL操作,來保留所有完整的數據記錄。

1.5 將復雜的多子集連接操作轉化為小的帶索引的臨時表

在帳務稽核中,往往需要把符合條件的幾部分數據匯總,形成一個新的結果表,處理方式有兩種:一種是用直接union all操作把各個查詢子集連接形成最終的結果表;另一種是分別將各個子集建成新的小表,再將小表用union all操作建成最終的結果表。第一種方法需要大量的臨時空間作為查詢結果子集的臨時存儲空間,對系統資源的占用也較大,經過實踐驗證,采用第二種方式往往能獲得更快的響應速度。

2 結語

文章結合省電信公司的收費系統,結合Oracle數據庫,簡單討論了數據庫庫的應用,在生活中,數據庫的應用還很多,比如數據庫在電信收入保障的應用等等。

參考文獻

[1]郎宇征,賈美英.服務器集群為數據庫系統搭臺[J],2005.

[2]黨正科,王新英.Oracle8.X For Windows NT實用教程[M].清華大學出版社,1999.

主站蜘蛛池模板: 亚洲日韩每日更新| 亚洲视频无码| 一级一级一片免费| 毛片久久网站小视频| 欧美劲爆第一页| 久久国产成人精品国产成人亚洲| 激情無極限的亚洲一区免费| 亚洲综合片| av尤物免费在线观看| 福利一区三区| 日韩无码黄色网站| 91九色国产porny| 97在线免费| 国产啪在线| 热re99久久精品国99热| 国产人人乐人人爱| 韩日午夜在线资源一区二区| 日韩精品高清自在线| 日韩午夜片| 五月天福利视频| 亚洲精品麻豆| 8090午夜无码专区| 无码精品一区二区久久久| 日韩在线中文| 日韩欧美国产精品| 国产成人免费视频精品一区二区| 亚洲性网站| 国产精品2| 欧洲高清无码在线| 日日拍夜夜操| 九九免费观看全部免费视频| 高h视频在线| 青青操国产视频| 国产成人AV大片大片在线播放 | 爱爱影院18禁免费| 日本国产精品一区久久久| 色综合国产| 国产成人精彩在线视频50| 国产丝袜91| 在线无码九区| 特级毛片8级毛片免费观看| 丝袜亚洲综合| 亚洲高清国产拍精品26u| 午夜日b视频| 国产第一页亚洲| 亚洲日韩Av中文字幕无码| 国产成人综合网| 四虎AV麻豆| 精品无码一区二区三区在线视频| 欧美97欧美综合色伦图| 欧美午夜性视频| 婷婷综合亚洲| 国产无码精品在线播放| 乱人伦视频中文字幕在线| 午夜视频在线观看区二区| 99在线视频免费观看| 日韩精品成人在线| 久久综合九色综合97婷婷| 国产精品开放后亚洲| 国产免费精彩视频| 日韩欧美国产另类| 天天综合网在线| 国产18在线播放| 夜夜拍夜夜爽| 国产精品女人呻吟在线观看| 国产黄网永久免费| 日本高清免费一本在线观看| 午夜视频免费一区二区在线看| 久久精品国产亚洲AV忘忧草18| 黄色三级网站免费| 538国产在线| 亚洲AⅤ综合在线欧美一区| 人妻中文字幕无码久久一区| 国产精品大尺度尺度视频| 亚洲无码电影| 成人免费视频一区| 特级毛片免费视频| 成年人视频一区二区| 香蕉伊思人视频| 99久久人妻精品免费二区| 四虎影视永久在线精品| 欧洲亚洲欧美国产日本高清|