freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于erp系統(tǒng)的數(shù)據(jù)庫(kù)性能優(yōu)化分析)-資料下載頁(yè)

2025-06-26 15:58本頁(yè)面
  

【正文】 deal_log39。 and alert_type = 39。alert_type39。 and log_time = TO_DATE(39。2010080239。, 39。YYYYMMDD39。) and log_time TO_DATE(39。2010080339。, 39。YYYYMMDD39。) + 16. 總結(jié)和建議通過以上生產(chǎn)中的優(yōu)化案例描述,大家對(duì)前面總結(jié)的優(yōu)化思路樹模型應(yīng)該有了較深刻的認(rèn)識(shí)。本案例中,在使用未改寫SQL進(jìn)行優(yōu)化并達(dá)到目的后,并沒有就此結(jié)束研究。在人為增加了大量數(shù)據(jù)的情況下,發(fā)現(xiàn)系統(tǒng)暴露出許多新的問題,最后依賴改造SQL的方法來實(shí)現(xiàn)優(yōu)化的目的。依次進(jìn)行了為count(*)語(yǔ)句加上not null關(guān)鍵字,改造中間表為真實(shí)臨時(shí)表,去掉大量不必要的重做數(shù)據(jù)的刪除語(yǔ)句,用分析函數(shù)及merge語(yǔ)句改造普通SQL,構(gòu)造分區(qū)表加上分區(qū)字段等工作。如果數(shù)據(jù)庫(kù)某些任務(wù)原本運(yùn)行的很好,忽然變慢了,我們可以通過對(duì)數(shù)據(jù)庫(kù)整體做性能優(yōu)化分析,這樣可以迅速定位到真正的瓶徑所在,從而解決問題。本文介紹了AWR的方法,由于篇幅所限僅僅只是說明了一下思路,希望能拋磚引玉,開啟大家的興趣之門。通過以上的探討知道,其實(shí)優(yōu)化還是有規(guī)律可循的,只要深入學(xué)習(xí)理解ORACLE體系結(jié)構(gòu)和各個(gè)相關(guān)知識(shí)點(diǎn),腦海中時(shí)刻有優(yōu)化的思路模型樹做為指導(dǎo),當(dāng)然,我所提及的兩棵樹模型是我自己所想的,限于水平,只是起到拋磚引玉,給大家做參考,大家可以自己思考,將自己的思想和技能融合進(jìn)去,將優(yōu)化模型的認(rèn)識(shí)完善,希望在大家的共同努力下,將數(shù)據(jù)庫(kù)調(diào)優(yōu)工作做到最好!另外,相比優(yōu)化而言,數(shù)據(jù)庫(kù)設(shè)計(jì)其實(shí)顯的更有重要,好的系統(tǒng)是設(shè)計(jì)出來的而不是優(yōu)化出來的,設(shè)計(jì)中也是有規(guī)律可遵循的,也有模型可以建立,我會(huì)考慮后續(xù)在設(shè)計(jì)方面建立出一套設(shè)計(jì)思路模型,并不斷完善和改進(jìn)。限于篇幅本文很多內(nèi)容不能深入展開探討,許多方法只能說個(gè)思路,具體細(xì)節(jié)有興趣朋友可以通過相關(guān)文檔去深入學(xué)習(xí)了解。數(shù)據(jù)庫(kù)應(yīng)用部署的好壞會(huì)對(duì)ERP應(yīng)用起到舉足輕重的影響,結(jié)合優(yōu)化數(shù)據(jù)庫(kù)的項(xiàng)目經(jīng)驗(yàn)及對(duì)相關(guān)數(shù)據(jù)庫(kù)知識(shí)的學(xué)習(xí)探索,我總結(jié)了如下一些數(shù)據(jù)庫(kù)管理應(yīng)用中的建議給公司做參考,考慮不周和理解錯(cuò)誤之處請(qǐng)批評(píng)指正。 要有ORACLE優(yōu)化意識(shí)開發(fā)人員和維護(hù)人員要掌握基本的查看執(zhí)行計(jì)劃的方法,不斷加強(qiáng)優(yōu)化意識(shí)!理解ORACLE是如何基于CBO模式進(jìn)行工作的。如果開發(fā)人員和維護(hù)人員有了優(yōu)化意識(shí)和相關(guān)知識(shí),就能自己發(fā)現(xiàn)和避免前面提到的表和索引未分析導(dǎo)致執(zhí)行計(jì)劃不正確的問題。很多人根本缺乏這樣的意識(shí),在語(yǔ)句執(zhí)行慢的時(shí)候,就只做簡(jiǎn)單的等待而不是去觀察為什么慢。其實(shí)有的時(shí)候,比如plsql developer工具一個(gè)簡(jiǎn)單的F8就可以查看執(zhí)行計(jì)劃是什么,從而得知有無走索引和是否用到分區(qū);通過查看一個(gè)簡(jiǎn)單的v$session_wait視圖就可以知道系統(tǒng)在等什么,通過觀察v$sql視圖的execute字段我們就可以知道數(shù)據(jù)庫(kù)是否沒有使用綁定變量。其實(shí)這些并不太難,關(guān)鍵是要有這個(gè)想法!公司開發(fā)設(shè)計(jì)維護(hù)人員人人都有這樣的意識(shí),一定能大大提高工作效率![4] 優(yōu)化有步驟可遵循本文全篇都在描述優(yōu)化的思路及步驟,并引進(jìn)了優(yōu)化思路模型樹的概念,后續(xù)我會(huì)在公司中和大家一起分享這些優(yōu)化的思考方法,希望和我交流過的同事都能理解和領(lǐng)會(huì)我在文中描述的內(nèi)容,在遇到數(shù)據(jù)庫(kù)性能問題的時(shí)候,能參考本文的思路總結(jié),優(yōu)化能做到有章可循,提高工作效率! 要做大基準(zhǔn)測(cè)試大家還記得我在進(jìn)行改寫SQL優(yōu)化時(shí)做的準(zhǔn)備工作吧,把所有表的數(shù)據(jù)量翻4番,數(shù)據(jù)量增大后原來沒注意到的性能問題全部暴露出來了,接著做了四次修改SQL的優(yōu)化后,才真正的改進(jìn)了這個(gè)遷移程序的性能。[5]這個(gè)案例非常典型,告訴了我們這樣一個(gè)道理,測(cè)試環(huán)境中的應(yīng)用要真正部署到生產(chǎn),必須模擬生產(chǎn)的大數(shù)據(jù)量,進(jìn)行大基準(zhǔn)測(cè)試,甚至要超過生產(chǎn)真正的數(shù)據(jù)量!如果只是簡(jiǎn)單的幾個(gè)用戶,少量的數(shù)據(jù),你將永遠(yuǎn)也發(fā)現(xiàn)不了潛在的各種問題,這點(diǎn)尤其重要! 避免重復(fù)發(fā)明輪子 我發(fā)現(xiàn)不少人花了很大的精力開發(fā)了一個(gè)數(shù)據(jù)庫(kù)本身就已經(jīng)提供的功能,比如為了控制用戶的連接數(shù)有人寫了一個(gè)代碼監(jiān)控v$session中連接數(shù)量,達(dá)到某個(gè)值后強(qiáng)行將其kill實(shí)現(xiàn),其實(shí)ORACLE中的profile早已提供了這樣的功能,而且使用起來相單簡(jiǎn)單安全!還有開發(fā)人員編寫了大量代碼實(shí)現(xiàn)了sequence序列的功能,這樣不止麻煩,還會(huì)遇到并發(fā)帶來的各種問題,而且性能也將因?yàn)橛貌坏絚ache等功能而大打折扣。在本文中中我們了解到oracle已經(jīng)用全局臨時(shí)表實(shí)現(xiàn)了開發(fā)人員構(gòu)造的中間表實(shí)現(xiàn)的功能,而且在利用上ORACLE全局臨時(shí)表后,代碼大大減少的同時(shí),性能還顯著提升了!此外還有非常重要的一點(diǎn)就是利用上ORACLE自帶功能,這些功能也可以隨著數(shù)據(jù)庫(kù)的版本升級(jí)而自動(dòng)升級(jí)并更加強(qiáng)大。 力求使用簡(jiǎn)單方法只要深入學(xué)習(xí),開發(fā)人員就會(huì)發(fā)現(xiàn),原來ORACLE已經(jīng)提供了許多很好的方法,完全可以替代那些我們費(fèi)盡心思編寫,卻往往效率低下的sql語(yǔ)句。比如中提到的全局臨時(shí)表替代普通表以及中提到的用分析函數(shù)和merge語(yǔ)句替代普通SQL就非常典型,還有start with connect by 的樹形查詢語(yǔ)句等,這些功能用普通SQL實(shí)現(xiàn)非常煩瑣,且性能往往很糟。認(rèn)真學(xué)習(xí)ORACLE各種SQL語(yǔ)法后就會(huì)發(fā)現(xiàn),善于利用諸如decode, case when, insert all, with 子句,分析函數(shù),merge, union等各種命令,加上良好的構(gòu)造思路,我們可以把一個(gè)原本需要在過程中通過復(fù)雜邏輯實(shí)現(xiàn)的應(yīng)用用單條sql來完成,帶來成就感的同時(shí)帶來了性能上的提升![7]這里我引用Thomas Kyte曾說過的ORACLE優(yōu)化哲學(xué):“盡量用一條SQL完成工作;如果無法用一條SQL實(shí)現(xiàn)則考慮PL/SQL;PL/SQL無法實(shí)現(xiàn)考慮用JAVA;JAVA無法實(shí)現(xiàn)考慮用C;C無法實(shí)現(xiàn)考慮放棄該任務(wù)。”他說的很有道理,現(xiàn)實(shí)中我曾經(jīng)多次比較過單條SQL和過程實(shí)現(xiàn)相同邏輯后的代價(jià)的差別,每次都是單條SQL性能要高的多。 設(shè)計(jì)非常重要一般來說好的數(shù)據(jù)庫(kù)是設(shè)計(jì)出來的而并非在后期調(diào)優(yōu)得到的,不良設(shè)計(jì)會(huì)導(dǎo)致系統(tǒng)性能產(chǎn)生很大的瓶徑,反之,良好的設(shè)計(jì)能很好地提高系統(tǒng)性能。例如在剛開始我們就是花了大力氣改造了源表的表結(jié)構(gòu),將普通表改造為分區(qū)表,然后使用分區(qū)進(jìn)行查詢,這種優(yōu)化設(shè)計(jì)最終大大提高了查詢速度。再舉索引的例子,索引雖然能提高查詢效率,卻對(duì)DML等更新語(yǔ)句有著負(fù)面作用,所以我們應(yīng)該盡量在產(chǎn)品設(shè)計(jì)之前就規(guī)劃好索引,考慮要建什么類型的索引,建多少個(gè)索引等等,而不是在交付給客戶使用時(shí)才開始考慮,把大量調(diào)優(yōu)工作當(dāng)成是用戶測(cè)試的一部分是不對(duì)的![8]在中,我們就是將中間表改造為臨時(shí)表的同時(shí),將該表索引控制為一個(gè),從而提高插入的性能。我們還可以舉很多例子,比如某些應(yīng)用是固定對(duì)某兩張表進(jìn)行查詢更新的,我們就可以考慮建簇表,讓相關(guān)聯(lián)兩表的記錄處在同一數(shù)據(jù)塊上,從而大大提高了檢索的速度。再比如說RAC環(huán)境中,我們應(yīng)該在設(shè)計(jì)初期就考慮對(duì)應(yīng)用進(jìn)行規(guī)劃,盡量設(shè)計(jì)將不同類型的業(yè)務(wù)分別部署到兩個(gè)不同的節(jié)點(diǎn)上,這樣可以有效避免CACHE的爭(zhēng)用等等。此外從大的層面來看,設(shè)計(jì)初期充分考慮讀寫分離,充分考慮將不同用戶進(jìn)行垂直分割、將數(shù)據(jù)庫(kù)根據(jù)功能不同進(jìn)行水平分割等等方案,也將對(duì)數(shù)據(jù)庫(kù)伸縮擴(kuò)展性帶來很大的好處,一旦交付使用后再考慮改造將極其困難!當(dāng)然設(shè)計(jì)是離不開對(duì)業(yè)務(wù)的理解的,最完美的解決方案是前期數(shù)據(jù)庫(kù)設(shè)計(jì)的時(shí)候,由對(duì)業(yè)務(wù)及業(yè)務(wù)發(fā)展趨勢(shì)非常精通的業(yè)務(wù)專家和數(shù)據(jù)庫(kù)專家進(jìn)行相互配合,這樣的組合就能設(shè)計(jì)出相對(duì)完美的數(shù)據(jù)庫(kù)系統(tǒng)。[9]7. 結(jié)束語(yǔ)本文是基于日常工作中涉及到的性能調(diào)優(yōu)的工作總結(jié),系統(tǒng)調(diào)優(yōu)是一個(gè)持續(xù)的過程,從剛開始的架構(gòu)到系統(tǒng)結(jié)構(gòu)設(shè)計(jì),從連接數(shù)據(jù)庫(kù)的方式到寫SQL腳本,每一步都跟系統(tǒng)優(yōu)化息息相關(guān)。性能優(yōu)化要了解數(shù)據(jù)庫(kù)的體系結(jié)構(gòu),所以剛開始花了一定的篇幅描述了數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu),建立了優(yōu)化模型樹,從整體優(yōu)化到局部?jī)?yōu)化,從存儲(chǔ)到CPU到并行結(jié)構(gòu),從改不改寫SQL本文都從實(shí)例進(jìn)行分析描寫。本文主要是基于日常維護(hù)的ERP系統(tǒng)的一個(gè)子系統(tǒng)物流管理系統(tǒng)進(jìn)行分析的,有些觀點(diǎn)比較片面,這也是本篇論文的不足之處。參考文獻(xiàn)[1] 譚懷遠(yuǎn).《oracle 10g性能分析和優(yōu)化思路》.北京:電子工業(yè)出版社,2010.[2] 李丙洋.《三思筆記之一步步學(xué)ORACLE》.北京:中國(guó)水利水電出版社,2010.[3] 梁敬彬 《劍破冰山oracle開發(fā)藝術(shù)》.北京:電子工業(yè)出版社,2010年.[4] 蓋國(guó)強(qiáng).《DBA手記數(shù)據(jù)庫(kù)診斷案例和性能優(yōu)化實(shí)戰(zhàn)》.北京:電子工業(yè)出版社,2001.[5] ORACLE Database Concepts 10g Release 2 (), B1422002,October 2005.[6] ORACLE Database Administrators Guide 10g Release 2 (),B1423102, May 2006.[7] Thomas Kyte, Expert ORACLE Database Architecture. [8] 梁敬彬 《oracle優(yōu)化模型的思路探討》[9] 劉云生 李國(guó)徽 《主動(dòng)實(shí)時(shí)數(shù)據(jù)庫(kù)事務(wù)的優(yōu)先級(jí)分派》計(jì)算機(jī)學(xué)報(bào) 致謝本篇論文是本人在實(shí)習(xí)公司從事系統(tǒng)維護(hù)過程所寫的,在編寫論文的過程中,有一些觀點(diǎn)是和同事討論而得出的。感謝在編寫論文中ITPUB的梁敬彬老師給我的論文做一些技術(shù)指導(dǎo)和論文原始的錯(cuò)誤觀點(diǎn)做了修正,和分享了他在做電信項(xiàng)目過程系統(tǒng)優(yōu)化經(jīng)驗(yàn)。感謝我的指導(dǎo)老師王秋芬老師對(duì)我的論文提出了修改意見,讓我的論文條理更清晰,格式更規(guī)范。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1