Oracle PL/SQL性能調優訣竅與方法

Oracle PL/SQL性能調優訣竅與方法

《Oracle PL/SQL性能調優訣竅與方法》是2015年11月1日清華大學出版社出版的圖書,作者是[美] Michael Rosenblum Paul Dorsey 。

基本介紹

  • 中文名:Oracle PL/SQL性能調優訣竅與方法
  • 作者:[美] Michael Rosenblum Paul Dorsey
  • 譯者:張駿溫
  • ISBN:9787302419563
  • 定價:49.80元
  • 出版社清華大學出版社
  • 出版時間:2015年11月1日
內容簡介,目錄,

內容簡介

經證實的PL/SQL最佳化解決方案在《Oracle PL/SQL性能調優訣竅與方法》這本書中,作為Oracle ACE的兩位作者給出了一種方便的能夠從PL/SQL獲取最佳結果的方法,他們有著數十年為政府、企業和教育機構創建複雜生產系統的經驗。本書首先介紹了精確定位性能問題的方法,並提供了可度量和驗證的測試案例。在深入探討SQL和PL/SQL的結合使用方法之後,又深入挖掘了適用於Oracle資料庫的性能調優工具。本書通篇包含真實的示例和最佳實踐。
主要內容
● 按照需求驅動的9步過程來識別和定位Web套用中的性能問題
● 使用性能相關的資料庫工具,包括數據字典視圖、日誌、追蹤、PL/SQLHierarchicalProfiler(PL/SQL層次式分析器)、PL/Scope和RUNSTATS
● 使用調用堆疊API、錯誤堆疊API和計時標記插裝代碼,以便定位性能問題
● 內嵌於SQL中的PL/SQL和管理用戶定義的函式
● 使用一種基於集合的方法把SQL嵌入PL/SQL中以便處理大量數據
● 正確編寫和部署DML觸發器以避免性能問題
● 用高級數據類型進行工作,包括LOB和XML
● 使用快取技術避免冗餘操作
● 有效地利用動態SQL來減少所需的代碼量和流水線系統管理
● 管理版本控制並確保性能修復得到成功部署

目錄

第Ⅰ部分 PL/SQL性能調優的核心理念和要素
第1章 PL/SQL在當前開發中的角色 3
1.1 典型的Web應用程式處理流程 3
1.2 Web應用程式的性能問題區域 4
1.2.1 步驟1:客戶機的性能問題 4
1.2.2 步驟2:客戶機到套用伺服器的傳輸問題 5
1.2.3 步驟3:套用伺服器的性能問題 5
1.2.4 步驟4:套用伺服器到資料庫的傳輸問題 5
1.2.5 步驟5:資料庫的性能問題 5
1.2.6 步驟6:資料庫到套用伺服器的傳輸問題 6
1.2.7 步驟7:套用伺服器處理性能問題 6
1.2.8 步驟8:套用伺服器到客戶機的傳輸問題 6
1.2.9 步驟9:客戶機的性能問題 6
1.3 發現使得Web應用程式性能變慢的原因 6
1.3.1 使用計時器來收集有關性能的數據 7
1.3.2 性能測量 8
1.4 解決Web應用程式的性能問題 9
1.4.1 解決客戶機的性能問題(步驟1和9) 9
1.4.2 分清客戶機和套用伺服器之間的性能問題(步驟2) 9
1.4.3 解決套用伺服器中的性能問題(步驟3和7) 10
1.4.4 解決客戶機中的性能問題(步驟9) 10
1.4.5 心得 10
1.5 總結 10
第2章 DBA/開發者的界線:工具和特性 13
2.1 數據字典視圖 14
2.2 Oracle日誌記錄和跟蹤 16
2.2.1 日誌記錄的基礎知識 16
2.2.2 跟蹤的基礎知識 17
2.2.3 日誌記錄/跟蹤示例 18
2.3 PL/SQL層次式分析器 20
2.4 RUNSTATS 23
2.5 PL/SQL環境設定 24
2.5.1 PLSQL_OPTIMIZE_LEVEL 25
2.5.2 PLSQL_CODE_TYPE 27
2.5.3 PLSQL_WARNINGS 29
2.5.4 PLSQL_CCFLAGS 31
2.6 PL/Scope 31
2.7 總結 33
第3章 PL/SQL中的代碼插樁 35
3.1 問題真的出在資料庫中嗎 36
3.2 應用程式日誌 37
3.2.1 內置代碼導航API 37
3.2.2 用戶驅動的日誌 39
3.3 代碼插樁的最佳實踐 43
3.3.1 設定過程標記 44
3.3.2 設定錯誤標記 46
3.4 總結 47
第Ⅱ部分 連結SQL和PL/SQL
第4章 擴展SQL的範圍 51
4.1 跳出SQL模式 52
4.1.1 切換至PL/SQL,使生活變得更簡單 52
4.1.2 使用PL /SQL填補功能空白 55
4.2 調用SQL內置函式 59
4.2.1 單表問題 60
4.2.2 多表問題 63
4.3 和PL/SQL相關的統計及其對執行計畫的影響 64
4.3.1 PL /SQL函式的硬體成本 64
4.3.2 PL/SQL函式的基數 70
4.3.3 PL/SQL函式的選擇率 74
4.4 只有Oracle Database 12c才有的特性 77
4.4.1 PRAGMA UDF子句 77
4.4.2 在WITH子句中添加函式 78
4.5 總結 79
第5章 用集合的概念來思考 81
5.1 游標 82
5.2 從SQL到PL/SQL載入集合 83
5.2.1 Oracle Database 12c:隱式分頁與持續獲取 88
5.2.2 用PL/SQL合併集合 90
5.3 FORALL語句 94
5.3.1 保持語法最新:稀疏集合 96
5.3.2 直接插入 98
5.3.3 FORALL和表觸發器 99
5.4 總結 101
第6章 使用觸發器 103
6.1 DML觸發器 104
6.1.1 數據保護:約束與觸發器 104
6.1.2 默認值 107
6.1.3 非規範化的代價 110
6.2 INSTEAD OF觸發器 112
6.2.1 基本的DML操作 112
6.2.2 邏輯主鍵的危害 115
6.2.3 處理UPDATE語句 117
6.3 總結 120
第Ⅲ部分 調優人員的工具包
第7章 不僅限於標量數據類型 125
7.1 LOB的管理 126
7.1.1 訪問LOB 126
7.1.2 存儲機制 127
7.1.3 I/O調優注意事項 129
7.1.4 僅SecureFile才有的特性 135
7.2 管理XML 139
7.2.1 存儲XML 139
7.2.2 操作XML 144
7.3 總結 148
第8章 保持使用快取 151
8.1 內置快取技術 151
8.1.1 確定性函式 152
8.1.2 標量子查詢快取 156
8.1.3 PL/SQL函式結果快取 158
8.2 手動快取技術 165
8.2.1 PL/SQL集合 166
8.2.2 Oracle上下文 168
8.3 總結 169
第9章 射擊移動目標 171
9.1 擴展基礎知識 172
9.1.1 CLOB輸入 172
9.1.2 游標轉換 173
9.1.3 PL/SQL函式結果快取的
集成 173
9.1.4 支持複雜的數據類型 175
9.2 深度挖掘 179
9.2.1 有關搜尋的更多內容 179
9.2.2 列表內陷阱 182
9.3 應對Dynamic SQL誤解帶來的挑戰 183
9.3.1 偏見#1:Dynamic SQL會引起安全風險 184
9.3.2 偏見#2:Dynamic SQL總是比正規的SQL慢 184
9.3.3 偏見#3:Dynamic SQL總是引起解析 185
9.3.4 偏見#4:DDL語句只能服務於DBA 187
9.4 總結 188
第Ⅳ部分 日常生活中的PL/SQL
第10章 來自戰壕的傳奇 191
10.1 第三方的打包代碼 191
10.2 無狀態問題 194
10.3 未知的撤消 197
10.4 遞歸的詛咒 200
10.4.1 遞歸和游標 200
10.4.2 遞歸和變數 203
10.5 總結 203
第11章 真實系統中的代碼管理 205
11.1 代碼管理的問題 206
11.1.1DBA的Lite版 207
11.1.2 國產版本控制 209
11.2 基於版本的重定義和性能調優 213
11.2.1 理解Edition-Based Redefinition 213
11.2.2 在Oracle Database 12c中對EBR所做的重要修改 214
11.3 系統環境的差異以及與性能相關的代碼管理 217
11.4 總結 218
第12章 額外的秘訣、技巧和理念 221
12.1 回到基礎 221
12.1.1 VARCHAR2記憶體的分配 222
12.1.2 當前日期的成本 223
12.1.3 二進制數據類型 225
12.2 文本操作 226
12.2.1 檢查文本字元串的有效字元 226
12.2.2 詞的相似度 228
12.2.3 VARCHAR2和視圖 230
12.3 增加處理的複雜性 232
12.3.1 NOCACHE最佳化 232
12.3.2 ACCESSIBLE BY子句 234
12.3.3 關於流水線函式的更多
知識 235
12.4 總結 236

相關詞條

熱門詞條

聯絡我們