1 調(diào)整設(shè)計(jì):最佳實(shí)踐
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括望花網(wǎng)站建設(shè)、望花網(wǎng)站制作、望花網(wǎng)頁(yè)制作以及望花網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,望花網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到望花省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
1.1做盡可能 少的工作
應(yīng)該簡(jiǎn)化應(yīng)用程序每個(gè)步驟所涉及的過(guò)程。強(qiáng)調(diào)應(yīng)用程序的功能和滿(mǎn)足業(yè)務(wù)性能需求的能力。
1、應(yīng)用程序設(shè)計(jì)中努力消除邏輯讀
如果多個(gè)用戶(hù)需要讀取相同的數(shù)據(jù),應(yīng)將其存儲(chǔ)在表中或程序包變量中。
修改應(yīng)用程序設(shè)計(jì),以消除不必要的命令執(zhí)行。
緩沖區(qū)極高命中率可標(biāo)識(shí)為執(zhí)行過(guò)多的邏輯讀。
在11g和12c中最好使用基于等待的調(diào)整。
2、 應(yīng)用程序設(shè)計(jì)中努力避免對(duì)數(shù)據(jù)庫(kù)的往返訪(fǎng)問(wèn)
在數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用服務(wù)器和終端計(jì)算機(jī)之間的來(lái)回通信是應(yīng)該調(diào)整的目標(biāo)。
在本地變量中存儲(chǔ)經(jīng)常需要的值避免重復(fù)查詢(xún)數(shù)據(jù)庫(kù)。
3、對(duì)于報(bào)告系統(tǒng),按照用戶(hù)的查詢(xún)方式存儲(chǔ)數(shù)據(jù)
創(chuàng)建維護(hù)物化視圖或報(bào)告表避免為用戶(hù)作數(shù)據(jù)格式的轉(zhuǎn)換。
4、避免重復(fù)的連接到數(shù)據(jù)庫(kù)
保持?jǐn)?shù)據(jù)庫(kù)連接為打開(kāi)狀態(tài)并重復(fù)使用
5、正確使用索引
在OLTP應(yīng)用程序中不應(yīng)該使用位圖索引
如果某列具有非常少的不同值勿建索引
1.2 做盡可能 簡(jiǎn)單的工作
1、在原子級(jí)執(zhí)行
對(duì)于執(zhí)行批處理操作應(yīng)創(chuàng)建臨時(shí)表存儲(chǔ)每個(gè)步驟的數(shù)據(jù)
將操作分解為較小的組成部分能解決性能問(wèn)題
2、消除不必要的排序
SORT ORDER BY是集合操作完成前不會(huì)返回?cái)?shù)據(jù)
UNION也執(zhí)行排序建議以UNION ALL代替之
3、消除使用撤消操作的需求
應(yīng)用程序設(shè)計(jì)應(yīng)避免頻繁查詢(xún)其它人可能會(huì)同時(shí)改變的數(shù)據(jù)
1.3 告訴數(shù)據(jù)庫(kù)需要知道的內(nèi)容
1、保持更新統(tǒng)計(jì)
默認(rèn)情況下ASG在(維護(hù)窗口)每晚10點(diǎn)至6點(diǎn)及周末全天收集統(tǒng)計(jì)信息
批量加載的表大小增加了10%以上時(shí)可手動(dòng)收集
12c允許在模式表或表的分區(qū)中并行收集統(tǒng)計(jì)信息
手動(dòng)收集前的會(huì)話(huà)級(jí)或系統(tǒng)及參數(shù)的使用以?xún)?yōu)化性能
2、在需要的地方使用提示
基于成本優(yōu)化器(CBO)選擇最有效的查詢(xún)執(zhí)行路徑
1.4 最大化環(huán)境中的吞吐量
1、使用適當(dāng)?shù)臄?shù)據(jù)庫(kù)塊大小8KB
2、設(shè)計(jì)吞吐量而非磁盤(pán)容量
3、避免使用臨時(shí)段
盡可能 在內(nèi)存中執(zhí)行所有排序
1.5 分開(kāi)處理數(shù)據(jù)
1、使用分區(qū)
2、使用物化視圖
3、使用并行化
1.6 正確測(cè)試
1、使用大量數(shù)據(jù)測(cè)試
拆分葉塊和維護(hù)索引時(shí)可能引發(fā)爭(zhēng)用
2、使用許多并發(fā)用戶(hù)測(cè)試
確認(rèn)并發(fā)用戶(hù)是否引起死鎖、數(shù)據(jù)一致性和性能問(wèn)題
3、測(cè)試索引對(duì)加載次數(shù)的影響
添加一個(gè)索引會(huì)帶來(lái)DML操作的開(kāi)銷(xiāo)
4、所有的測(cè)試可重復(fù)
必須能重建使用的數(shù)據(jù)集、執(zhí)行動(dòng)作、預(yù)期結(jié)果和記錄的結(jié)果
未遵循測(cè)試的標(biāo)準(zhǔn)常見(jiàn)原因是時(shí)間和成本
1.7 標(biāo)準(zhǔn)的可交付成果
1、實(shí)體關(guān)系圖
表明組成應(yīng)用程序的實(shí)體之間的標(biāo)識(shí)關(guān)系
2、物理數(shù)據(jù)庫(kù)圖
從實(shí)體中生成的物理表及其屬性生成的列
3、空間需求初始值
4、查詢(xún)和事務(wù)處理的調(diào)整目標(biāo)
必須定義和批準(zhǔn)應(yīng)用程序中使用最多的每個(gè)操作的響應(yīng)時(shí)間
建立合理目標(biāo)和伸展目標(biāo)
根據(jù)不同目標(biāo)建立查詢(xún)和事務(wù)性能的控制邊界
5、安全需求
指定應(yīng)用程序使用的賬戶(hù)結(jié)構(gòu)及相關(guān)授權(quán)
6、數(shù)據(jù)需求
定義數(shù)據(jù)輸入和檢索方法
描述應(yīng)用程序的備份和恢復(fù)需求并與企業(yè)數(shù)據(jù)庫(kù)備份計(jì)劃比較
7、查詢(xún)執(zhí)行計(jì)劃
數(shù)據(jù)庫(kù)執(zhí)行查詢(xún)所需要完成的步驟
8、驗(yàn)收測(cè)試過(guò)程