注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)計(jì)算機(jī)組織與體系結(jié)構(gòu)Oracle PL/SQL性能調(diào)優(yōu)訣竅與方法

Oracle PL/SQL性能調(diào)優(yōu)訣竅與方法

Oracle PL/SQL性能調(diào)優(yōu)訣竅與方法

定 價(jià):¥49.80

作 者: (美)羅森布拉姆(Rosenblum M.),(美)多西(Dorsey P.)著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: SQL 計(jì)算機(jī)/網(wǎng)絡(luò) 數(shù)據(jù)庫(kù)

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787302419563 出版時(shí)間: 2015-11-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 260 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  經(jīng)證實(shí)的PL/SQL優(yōu)化解決方案在《Oracle PL/SQL性能調(diào)優(yōu)訣竅與方法》這本書(shū)中,作為Oracle ACE的兩位作者給出了一種方便的能夠從PL/SQL獲取最佳結(jié)果的方法,他們有著數(shù)十年為政府、企業(yè)和教育機(jī)構(gòu)創(chuàng)建復(fù)雜生產(chǎn)系統(tǒng)的經(jīng)驗(yàn)。本書(shū)首先介紹了精確定位性能問(wèn)題的方法,并提供了可度量和驗(yàn)證的測(cè)試案例。在深入探討SQL和PL/SQL的結(jié)合使用方法之后,又深入挖掘了適用于Oracle數(shù)據(jù)庫(kù)的性能調(diào)優(yōu)工具。本書(shū)通篇包含真實(shí)的示例和最佳實(shí)踐。主要內(nèi)容● 按照需求驅(qū)動(dòng)的9步過(guò)程來(lái)識(shí)別和定位Web應(yīng)用中的性能問(wèn)題● 使用性能相關(guān)的數(shù)據(jù)庫(kù)工具,包括數(shù)據(jù)字典視圖、日志、追蹤、PL/SQLHierarchical Profiler(PL/SQL層次式分析器)、PL/Scope和RUNSTATS● 使用調(diào)用堆棧API、錯(cuò)誤堆棧API和計(jì)時(shí)標(biāo)記插裝代碼,以便定位性能問(wèn)題● 內(nèi)嵌于SQL中的PL/SQL和管理用戶定義的函數(shù)● 使用一種基于集合的方法把SQL嵌入PL/SQL中以便處理大量數(shù)據(jù)● 正確編寫(xiě)和部署DML觸發(fā)器以避免性能問(wèn)題● 用高級(jí)數(shù)據(jù)類(lèi)型進(jìn)行工作,包括LOB和XML● 使用緩存技術(shù)避免冗余操作● 有效地利用動(dòng)態(tài)SQL來(lái)減少所需的代碼量和流水線系統(tǒng)管理● 管理版本控制并確保性能修復(fù)得到成功部署

作者簡(jiǎn)介

  Michael Rosenblum是Dulcian,Inc.的一位軟件架構(gòu)師/高級(jí)DBA,負(fù)責(zé)系統(tǒng)調(diào)優(yōu)和設(shè)計(jì)應(yīng)用程序體系架構(gòu)。Michael通過(guò)編寫(xiě)復(fù)雜的PL/SQL例程和研究新特性來(lái)為Dulcian的開(kāi)發(fā)者提供支持。他是PL/SQL for Dummies(Wiley Press, 2006)一書(shū)的合著者,是Expert PL/SQL Practices (Apress, 2011)一書(shū)的貢獻(xiàn)作者,也是大量與數(shù)據(jù)庫(kù)相關(guān)的期刊文章和會(huì)議論文的作者。Michael是一位Oracle ACE,是眾多Oracle用戶組會(huì)議的活躍主持人,包括Oracle OpenWorld、ODTUG、IOUG Collaborate、RMOUG、NYOUG等,并獲得了ODTUGKaleidoscope的2009年度最佳演講人獎(jiǎng)。他的祖國(guó)是烏克蘭,他以優(yōu)等生的身份畢業(yè)于基輔國(guó)家經(jīng)濟(jì)大學(xué),獲得信息系統(tǒng)專業(yè)的科學(xué)碩士學(xué)位。PaulDorsey博士是Dulcian,Inc.的創(chuàng)始人和總裁,這是一家Oracle咨詢公司,專門(mén)從事業(yè)務(wù)規(guī)則和基于Web的應(yīng)用程序開(kāi)發(fā)。他是Dulcian,Inc.的Business Rules Information Manager (BRIM)產(chǎn)品工具的總架構(gòu)師,還是Oracle出版社出版的7本書(shū)的合著者,這些書(shū)涵蓋了Designer、數(shù)據(jù)庫(kù)設(shè)計(jì)、Developer和JDeveloper等主題,已被翻譯為9種語(yǔ)言,他還是Wiley出版社出版的PL/SQL for Dummies圖書(shū)的合著者。Paul是一位Oracle ACE,并且是第一個(gè)進(jìn)入IOUG SELECT名人堂的人。他是NYOUG的名譽(yù)主席。Paul于2003年被ODTUG授予年度志愿者稱號(hào),2001年被IOUG授予年度志愿者稱號(hào),是最早被Oracle授予Oracle 9i認(rèn)證大師稱號(hào)的6泰斗之一。Paul提交的用于為T(mén)hePreeclampsia Foundation收集數(shù)據(jù)的Survey Generator贏得了2007年度Oracle Fusion Middleware DeveloperChallenge獎(jiǎng),Oracle選擇他作為2007年度的PL/SQL Developer。

圖書(shū)目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)