<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        關(guān)于提高Oracle應用程序的編程效率

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 12:12:07
        文檔

        關(guān)于提高Oracle應用程序的編程效率

        關(guān)于提高Oracle應用程序的編程效率:Oracle應用程序效率的提高可以從以下幾個方面著手進行:⑴業(yè)務邏輯功能調(diào)整;⑵優(yōu)化數(shù)據(jù)結(jié)構(gòu)設計;⑶優(yōu)化數(shù)據(jù)處理步驟; Oracle應用程序效率的提高可以從以下幾個方面著手進行: ⑴業(yè)務邏輯功能調(diào)整; ⑵優(yōu)化數(shù)據(jù)結(jié)構(gòu)設計; ⑶優(yōu)化數(shù)據(jù)處理步驟; ⑷優(yōu)化S
        推薦度:
        導讀關(guān)于提高Oracle應用程序的編程效率:Oracle應用程序效率的提高可以從以下幾個方面著手進行:⑴業(yè)務邏輯功能調(diào)整;⑵優(yōu)化數(shù)據(jù)結(jié)構(gòu)設計;⑶優(yōu)化數(shù)據(jù)處理步驟; Oracle應用程序效率的提高可以從以下幾個方面著手進行: ⑴業(yè)務邏輯功能調(diào)整; ⑵優(yōu)化數(shù)據(jù)結(jié)構(gòu)設計; ⑶優(yōu)化數(shù)據(jù)處理步驟; ⑷優(yōu)化S

        Oracle應用程序效率的提高可以從以下幾個方面著手進行:⑴業(yè)務邏輯功能調(diào)整;⑵優(yōu)化數(shù)據(jù)結(jié)構(gòu)設計;⑶優(yōu)化數(shù)據(jù)處理步驟;

        Oracle應用程序效率的提高可以從以下幾個方面著手進行:

        ⑴業(yè)務邏輯功能調(diào)整;

        ⑵優(yōu)化數(shù)據(jù)結(jié)構(gòu)設計;

        ⑶優(yōu)化數(shù)據(jù)處理步驟;

        ⑷優(yōu)化SQL語句;

        ⑸物理結(jié)構(gòu)調(diào)整;

        ⑹內(nèi)存分配優(yōu)化;

        ⑺I/O調(diào)整;

        ⑻解決內(nèi)存爭用;

        ⑼優(yōu)化操作系統(tǒng)。

        這里主要就SQL語句的優(yōu)化總結(jié)一些經(jīng)驗以供參考:

        1、SQL語句書寫格式,使用共享SQL語句資源

        在Oracle Server中,執(zhí)行的SQL語句以游標(cursor)的方式存在于共享SQL區(qū)(sharedSQL aera)中,并按照下圖所示流程處理:

        當執(zhí)行一條SQL語句時,Oracle先在共享SQL區(qū)中查找是否有相同的SQL語句存在,如果不存在,Oracle將新建游標,并且對語句進行分析,然后綁定變量并按分析后的執(zhí)行計劃執(zhí)行SQL語句;但如果有相同的SQL語句存在,Oracle可共享使用已有游標,僅需重新綁定變量(或者不需要),即可重復執(zhí)行。因此,使用相同的SQL語句,可以節(jié)省系統(tǒng)內(nèi)存空間,提高代碼運行效率。

        Oracle按照以下原則判斷SQL語句是否相同:

        ⑴字母大小寫相同;

        ⑵空格數(shù)相同;

        ⑶注釋相同;

        ⑷所使用的數(shù)據(jù)庫對象(如:表等)相同;

        ⑸變量類型相同。

        為實現(xiàn)游標共享,可使用存儲過程、觸發(fā)器、程序庫等方式編寫集中的代碼。同時,按照固定的格式書寫SQL語句也將提高游標共享的機率,從而提高代碼效率。下例可作為SQL語句的書寫格式以供參考:

        2、使用索引

        在對大量數(shù)據(jù)的表進行操作時,使用索引可以提高程序執(zhí)行效率。建立索引時應注意:

        ⑴ 將經(jīng)常用來查詢的字段放在復合索引的前面;

        ⑵ 建立全表索引時,將性最強的字段放在最前面;

        ⑶ 建立主鍵、唯一鍵約束時,系統(tǒng)自動建立索引;

        ⑷ 建立外鍵約束時,系統(tǒng)不會自動建立索引,此時如果被引用的表經(jīng)常修改,應在外鍵字段上建立索引,以防止鎖表;

        例如:pol_info.applicant引用client_info.insno作外鍵,如果pol_info.applicant上無索引,則修改client_info時會鎖pol_info,如果在pol_info.applicant上加索引,即可防止上述鎖出現(xiàn),從而提高程序運行效率。

        ⑴ 只加必要的索引,否則反而會影響效率;

        例如:對存在大量重復值的字段加索引會使程序執(zhí)行效率大幅降低。

        ⑵ 盡量在where字句中直接使用有索引的字段;

        例如:where col1= ‘XXX’及where col1 > v_num均可利用索引,而where col1||‘’= ‘XXX’或where col1-0 > v_num則不可利用索引。

        ⑶ 可強制SQL語句使用索引;例如:

        select /*+index(classes)*/ *

        from classes

        where type = ‘IDL’

        and loc_id between 3003 and 30005;

        3、表連接

        ⑴ 使用非相等連接將降低執(zhí)行效率;

        ⑵ 多個表連接時,對于在select子句中不出現(xiàn)的表,可用子查詢代替表連接;

        ⑶ 在from子句中,將小表放在后面,可提高執(zhí)行效率;

        ⑷ 在where子句中將過濾記錄數(shù)最多的條件放在最后;

        ⑸ 子查詢數(shù)量較大時,使用表連接代替低效的SQL語句(IN,EXISTS,NOT IN,NOT EXISTS等)。

        例如:有表一:createtable tab1(col1 varchar2(20) primary key,col2 number);

        和表二:createtable tab2(col1 varchar2(20) primary key,col2 number);

        A 現(xiàn)讀取sum(tab1.col2),,且tab1.col1存在于tab2.col1中:

        使用IN:select sum(col2) from tab1 wherecol1 in (select col1 fromtab2);

        使用EXISTS:selectsum(col2) from tab1 a

        where exists ( select * from tab2 wherecol1=a.col1);

        使用連接:selectsum(a.col2) from tab1 a,tab2b where a.col1=b.col2;

        B 現(xiàn)讀取sum(tab1.col2),且tab1.col1不存在于tab2.col1中:

        使用NOT IN:select sum(col2) from tab1 wherecol1 not in (select col1 from tab2);

        使用NOTEXISTS:select sum(col2) from tab1 a

        where not exists ( select * from tab2 wherecol1=a.col1);

        使用外連接:selectsum(a.col2) from tab1 a,tab2b

        where a.col1=b.col2(+) and b.col1 is null;

        4、嵌套循環(huán)

        在PL/SQL過程中,如果有兩個表查詢結(jié)果的嵌套循環(huán),應盡量將小表放在外層循環(huán)中。

        5、大表掃描

        如果需要對兩張很大的表進行連接掃描,并且其中一表的連接字段為主鍵或唯一鍵,可用過程實現(xiàn)兩表均一次掃描完成。

        linux

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        關(guān)于提高Oracle應用程序的編程效率

        關(guān)于提高Oracle應用程序的編程效率:Oracle應用程序效率的提高可以從以下幾個方面著手進行:⑴業(yè)務邏輯功能調(diào)整;⑵優(yōu)化數(shù)據(jù)結(jié)構(gòu)設計;⑶優(yōu)化數(shù)據(jù)處理步驟; Oracle應用程序效率的提高可以從以下幾個方面著手進行: ⑴業(yè)務邏輯功能調(diào)整; ⑵優(yōu)化數(shù)據(jù)結(jié)構(gòu)設計; ⑶優(yōu)化數(shù)據(jù)處理步驟; ⑷優(yōu)化S
        推薦度:
        標簽: 軟件 提高 效率
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top 主站蜘蛛池模板: 亚洲av无码一区二区三区网站| 97性无码区免费| 三级毛片在线免费观看| 精品免费久久久久国产一区| 成人网站免费大全日韩国产| 亚洲精品网站在线观看不卡无广告 | 最近中文字幕无吗免费高清| 免费高清av一区二区三区| 亚洲国产精品人人做人人爱| 亚洲精品视频免费看| 免费人人潮人人爽一区二区| 久久这里只精品99re免费| 麻豆成人精品国产免费| 亚洲AV色无码乱码在线观看| 日韩免费无码一区二区三区| 国产精品久久免费视频| 亚洲AV电影院在线观看| 日韩免费在线中文字幕| 好先生在线观看免费播放 | 免费中文字幕在线| 亚洲另类春色校园小说| 黄色视屏在线免费播放| 久久亚洲国产成人亚| av免费不卡国产观看| 国产大陆亚洲精品国产| 精品熟女少妇AV免费观看| 蜜芽亚洲av无码一区二区三区| 亚洲精品色婷婷在线影院| 亚洲免费精彩视频在线观看| 中文字幕亚洲日韩无线码| 亚洲AV无码片一区二区三区| 亚洲精品国产成人影院| 1a级毛片免费观看| 亚洲av激情无码专区在线播放| 成人女人A级毛片免费软件| 亚洲国产美女在线观看| 18禁止看的免费污网站| WWW亚洲色大成网络.COM| 国产18禁黄网站免费观看| 亚洲精品国产综合久久久久紧| 免费可以看黄的视频s色|