您好,登錄后才能下訂單哦!
1 調整設計:最佳實踐
1.1做盡可能 少的工作
應該簡化應用程序每個步驟所涉及的過程。強調應用程序的功能和滿足業務性能需求的能力。
1、應用程序設計中努力消除邏輯讀
如果多個用戶需要讀取相同的數據,應將其存儲在表中或程序包變量中。
修改應用程序設計,以消除不必要的命令執行。
緩沖區極高命中率可標識為執行過多的邏輯讀。
在11g和12c中最好使用基于等待的調整。
2、 應用程序設計中努力避免對數據庫的往返訪問
在數據庫服務器、應用服務器和終端計算機之間的來回通信是應該調整的目標。
在本地變量中存儲經常需要的值避免重復查詢數據庫。
3、對于報告系統,按照用戶的查詢方式存儲數據
創建維護物化視圖或報告表避免為用戶作數據格式的轉換。
4、避免重復的連接到數據庫
保持數據庫連接為打開狀態并重復使用
5、正確使用索引
在OLTP應用程序中不應該使用位圖索引
如果某列具有非常少的不同值勿建索引
1.2 做盡可能 簡單的工作
1、在原子級執行
對于執行批處理操作應創建臨時表存儲每個步驟的數據
將操作分解為較小的組成部分能解決性能問題
2、消除不必要的排序
SORT ORDER BY是集合操作完成前不會返回數據
UNION也執行排序建議以UNION ALL代替之
3、消除使用撤消操作的需求
應用程序設計應避免頻繁查詢其它人可能會同時改變的數據
1.3 告訴數據庫需要知道的內容
1、保持更新統計
默認情況下ASG在(維護窗口)每晚10點至6點及周末全天收集統計信息
批量加載的表大小增加了10%以上時可手動收集
12c允許在模式表或表的分區中并行收集統計信息
手動收集前的會話級或系統及參數的使用以優化性能
2、在需要的地方使用提示
基于成本優化器(CBO)選擇最有效的查詢執行路徑
1.4 最大化環境中的吞吐量
1、使用適當的數據庫塊大小8KB
2、設計吞吐量而非磁盤容量
3、避免使用臨時段
盡可能 在內存中執行所有排序
1.5 分開處理數據
1、使用分區
2、使用物化視圖
3、使用并行化
1.6 正確測試
1、使用大量數據測試
拆分葉塊和維護索引時可能引發爭用
2、使用許多并發用戶測試
確認并發用戶是否引起死鎖、數據一致性和性能問題
3、測試索引對加載次數的影響
添加一個索引會帶來DML操作的開銷
4、所有的測試可重復
必須能重建使用的數據集、執行動作、預期結果和記錄的結果
未遵循測試的標準常見原因是時間和成本
1.7 標準的可交付成果
1、實體關系圖
表明組成應用程序的實體之間的標識關系
2、物理數據庫圖
從實體中生成的物理表及其屬性生成的列
3、空間需求初始值
4、查詢和事務處理的調整目標
必須定義和批準應用程序中使用最多的每個操作的響應時間
建立合理目標和伸展目標
根據不同目標建立查詢和事務性能的控制邊界
5、安全需求
指定應用程序使用的賬戶結構及相關授權
6、數據需求
定義數據輸入和檢索方法
描述應用程序的備份和恢復需求并與企業數據庫備份計劃比較
7、查詢執行計劃
數據庫執行查詢所需要完成的步驟
8、驗收測試過程
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。