注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)庫理論DB2數(shù)據(jù)庫性能調(diào)整和優(yōu)化(第2版)

DB2數(shù)據(jù)庫性能調(diào)整和優(yōu)化(第2版)

DB2數(shù)據(jù)庫性能調(diào)整和優(yōu)化(第2版)

定 價(jià):¥78.00

作 者: 牛新莊 著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)與互聯(lián)網(wǎng) 數(shù)據(jù)庫

ISBN: 9787302325260 出版時(shí)間: 2013-07-01 包裝: 平裝
開本: 16開 頁數(shù): 528 字?jǐn)?shù):  

內(nèi)容簡介

  本書側(cè)重于介紹DB2數(shù)據(jù)庫的性能調(diào)優(yōu)。性能調(diào)優(yōu)是一個系統(tǒng)工程:全面監(jiān)控分析操作系統(tǒng)、I/O性能、內(nèi)存、應(yīng)用及數(shù)據(jù)庫才能快速找到問題根源;深刻理解DB2的鎖及并發(fā)機(jī)制、索引原理、數(shù)據(jù)庫參數(shù)、優(yōu)化器原理、SQL語句調(diào)優(yōu)等內(nèi)部機(jī)理才能針對性地快速提出解決問題的方法;快照、db2pd、db2expln及事件監(jiān)控器等則是必須熟練掌握的工具。這本書覆蓋了進(jìn)行DB2數(shù)據(jù)庫性能調(diào)優(yōu)所需的全部知識和工具,并提供了大量的性能調(diào)優(yōu)的實(shí)際案例。本書系統(tǒng)性地總結(jié)了DB2數(shù)據(jù)庫性能調(diào)整的方法、流程、思路和保持系統(tǒng)良好性能的注意要點(diǎn)。最難得的是作者分享了其10年積累的DB2性能調(diào)優(yōu)案例和經(jīng)驗(yàn)總結(jié)。本書特色◆本書全面揭示了性能相關(guān)的主題,并從基本原理入手,解釋造成性能問題的根本原因,并提供最好的解決方法,從而實(shí)現(xiàn)DB2數(shù)據(jù)庫的調(diào)優(yōu)◆ 本書體現(xiàn)了作者多年調(diào)優(yōu)經(jīng)驗(yàn)的心得體會,包含了大量的實(shí)戰(zhàn)技巧,實(shí)用性極高

作者簡介

  牛新莊,國內(nèi)頂尖數(shù)據(jù)架構(gòu)和信息治理專家,擔(dān)任對外經(jīng)濟(jì)貿(mào)易大學(xué)客座教授、北京交通大學(xué)兼職教授、中國DB2用戶協(xié)會(CDUG)理事長、亞洲金融合作聯(lián)盟信息科技委員會主任。2008年曾以217萬年薪受聘于中國建設(shè)銀行總行特聘技術(shù)顧問,2009年受邀加入中國民生銀行總行科技部,現(xiàn)任總行科技部總經(jīng)理。牛新莊博士擁有20多項(xiàng)國際廠商認(rèn)證(包括DB2 V5~V9的全部認(rèn)證),獲得過國內(nèi)數(shù)據(jù)庫領(lǐng)域最高榮譽(yù)的“2006年中國首屆杰出數(shù)據(jù)庫工程師獎”、“首屆IBM杰出軟件專家獎”、“2006年IT168技術(shù)卓越獎”等獎項(xiàng)。

圖書目錄

第1章  性能調(diào)整概述 1
1.1  性能概述 2
1.2  性能評估 4
1.3  建立性能目標(biāo) 7
1.4  什么時(shí)候需要做性能調(diào)整 8
1.5  性能調(diào)整準(zhǔn)則 9
1.6  性能調(diào)整的方法和過程 10
1.6.1  性能調(diào)整的步驟 10
1.6.2  性能調(diào)整的限制 11
1.6.3  向客戶了解情況 11
1.6.4  性能調(diào)整流程圖 12
1.7  性能模型 15
1.7.1  輸入 17
1.7.2  處理 17
1.7.3  輸出 23
1.8  本章小結(jié) 24
第2章  操作系統(tǒng)及存儲的性能調(diào)優(yōu) 27
2.1  AIX性能監(jiān)控綜述 29
2.1.1  監(jiān)控工具 29
2.1.2  監(jiān)控系統(tǒng)總體運(yùn)行狀態(tài) 30
2.1.3  監(jiān)控CPU性能 34
2.1.4  監(jiān)控內(nèi)存使用 38
2.1.5  監(jiān)控存儲系統(tǒng)狀態(tài) 40
2.1.6  監(jiān)控網(wǎng)絡(luò)狀態(tài) 42
2.2  操作系統(tǒng)性能優(yōu)化 43
2.2.1  直接I/O和并發(fā)I/O 44
2.2.2  異步I/O和同步I/O 45
2.2.3  minpout和maxpout 47
2.2.4  文件系統(tǒng)和裸設(shè)備 47
2.2.5  負(fù)載均衡及條帶化
(Striping) 48
2.3  邏輯卷和lvmo優(yōu)化 53
2.3.1  使用lvmo進(jìn)行優(yōu)化 54
2.3.2  卷組pbuf池 55
2.3.3  pbuf設(shè)置不合理導(dǎo)致性能
問題調(diào)整案例 56
2.3.4  使用ioo進(jìn)行優(yōu)化 60
2.4  操作系統(tǒng)性能調(diào)整總結(jié) 65
2.5  存儲I/O設(shè)計(jì) 65
2.6  存儲基本概念 65
2.6.1  硬盤 65
2.6.2  磁盤陣列技術(shù) 67
2.6.3  存儲的Cache 67
2.6.4  網(wǎng)絡(luò)存儲技術(shù) 68
2.7  存儲架構(gòu) 69
2.7.1  存儲I/O處理過程 69
2.7.2  RAID IOPS 70
2.7.3  RAID 10和RAID 5的
比較 71
2.8  良好存儲規(guī)劃的目標(biāo) 74
2.9  良好存儲規(guī)劃的設(shè)計(jì)原則 75
2.10  存儲相關(guān)性能調(diào)整案例 76
2.11  存儲I/O性能調(diào)整總結(jié) 79
2.12  本章小結(jié) 80
第3章  DB2性能監(jiān)控 81
3.1  快照監(jiān)視器案例 81
3.1.1  監(jiān)控動態(tài)SQL語句 81
3.1.2  監(jiān)控臨時(shí)表空間使用 84
3.2  事件監(jiān)視器及監(jiān)控案例 87
3.3  利用表函數(shù)監(jiān)控 93
3.4  性能管理視圖及案例 99
3.4.1  監(jiān)控緩沖池命中率 100
3.4.2  監(jiān)控Package Cache大小 101
3.4.3  監(jiān)控執(zhí)行成本最高的SQL
語句 102
3.4.4  監(jiān)控運(yùn)行時(shí)間最長的SQL
語句 102
3.4.5  監(jiān)控SQL準(zhǔn)備和預(yù)編譯
時(shí)間最長的SQL語句 103
3.4.6  監(jiān)控執(zhí)行次數(shù)最多的SQL
語句 103
3.4.7  監(jiān)控排序次數(shù)最多的SQL
語句 104
3.4.8  監(jiān)控鎖等待時(shí)間 104
3.4.9  監(jiān)控Lock Chain 105
3.4.10  監(jiān)控鎖內(nèi)存的使用 108
3.4.11  監(jiān)控鎖升級、死鎖和
鎖超時(shí) 108
3.4.12  監(jiān)控全表掃描的SQL 109
3.4.13  檢查頁清理器是否足夠 110
3.4.14  監(jiān)控prefecher是否足夠 110
3.4.15  監(jiān)控?cái)?shù)據(jù)庫內(nèi)存使用 111
3.4.16  監(jiān)控日志使用情況 112
3.4.17  監(jiān)控占用日志空間最舊的
事務(wù) 112
3.4.18  監(jiān)控存儲路徑 113
3.4.19  追蹤監(jiān)控歷史 114
3.5  db2pd 114
3.5.1  常用db2pd監(jiān)控選項(xiàng)和
示例 115
3.5.2  使用db2pd監(jiān)控死鎖
案例 127
3.5.3  db2pd使用問題總結(jié) 132
3.6  內(nèi)存監(jiān)控 134
3.6.1  db2pd 內(nèi)存監(jiān)控 134
3.6.2  db2mtrk 內(nèi)存監(jiān)控 138
3.7  本章小結(jié) 140
第4章  DB2配置參數(shù)調(diào)整 141
4.1  初識DB2配置參數(shù) 141
4.2  監(jiān)控和調(diào)優(yōu)實(shí)例級(DBM)
配置參數(shù) 143
4.2.1  代理程序相關(guān)配置參數(shù) 143
4.2.2  sheapthres 146
4.2.3  fcm_num_buffers 146
4.2.4  sheapthres_shr 147
4.2.5  intra_parallel 147
4.2.6  mon_heap_sz 148
4.2.7  query_heap_sz 148
4.3  監(jiān)控和調(diào)優(yōu)數(shù)據(jù)庫級配置
參數(shù) 148
4.3.1  緩沖池大小 149
4.3.2  日志緩沖區(qū)大小(logbufsz) 155
4.3.3  應(yīng)用程序堆大小
(applheapsz) 156
4.3.4  sortheap和sheapthres_shr 157
4.3.5  鎖相關(guān)配置參數(shù) 159
4.3.6  活動應(yīng)用程序的最大數(shù)目
(maxappls) 163
4.3.7  pckcachesz 163
4.3.8  catalogcache_sz 164
4.3.9  異步頁清除程序的數(shù)目
(num_iocleaners) 164 4.3.10  異步I/O 服務(wù)器的數(shù)目
(num_ioservers) 166
4.3.11  組提交數(shù)目(mincommit) 166
4.3.12  avg_appls 168
4.3.13  chngpgs_thresh(DB) 168
4.3.14  maxfilop 169
4.3.15  logprimary、logsecond和
logfilsz 169
4.3.16  stmtheap 170
4.3.17  dft_queryopt 170
4.3.18  util_heap_sz (DB) 170
4.4  調(diào)整DB2概要注冊變量 170
4.4.1  db2_parallel_io 171
4.4.2  db2_evaluncommitted 173
4.4.3  db2_skipdeleted 173
4.4.4  db2_skipinserted 173
4.4.5  db2_use_page_
container_tag 173
4.4.6  db2_selectivity 173
4.4.7  db2_logger_non_
buffered_io 174
4.5  內(nèi)存自動調(diào)優(yōu) 174
4.5.1  內(nèi)存自動調(diào)優(yōu)示例 175
4.5.2  啟用內(nèi)存自動調(diào)優(yōu)及
相關(guān)參數(shù) 176
4.5.3  內(nèi)存配置參數(shù)的配置原則 178
4.6  本章小結(jié) 179
第5章  高級鎖與優(yōu)化 181
5.1  隔離級別與鎖 181
5.1.1  可重復(fù)讀(RR—Repeatable
Read) 182
5.1.2  讀穩(wěn)定性(RS—Read
Stability) 184
5.1.3  游標(biāo)穩(wěn)定性(CS—Cursor
Stability) 186
5.1.4  當(dāng)前提交
(Currently Committed) 188
5.1.5  未提交讀
(UR—Uncommitted Read) 190
5.1.6  隔離級別總結(jié) 193
5.2  加鎖總結(jié) 195
5.2.1  如何獲取鎖 195
5.2.2  意圖鎖和非意圖鎖 196
5.2.3  讀鎖和寫鎖 197
5.2.4  LRB(Lock Resource Block) 197
5.2.5  USE AND KEEP LOCKS 198
5.2.6  索引類型和下一鍵鎖 199
5.2.7  掃描方式與加鎖 201
5.3  樂觀鎖 204
5.3.1  悲觀鎖和樂觀鎖 204
5.3.2  DB2 V9.5中的樂觀鎖 205
5.3.3  樂觀鎖應(yīng)用案例 212
5.4  內(nèi)部鎖 221
5.4.1  內(nèi)部方案鎖
(Internal Plan Lock) 221
5.4.2  內(nèi)部V鎖(Internal Variation
Lock) 222
5.4.3  內(nèi)部S鎖 223
5.4.4  內(nèi)部C鎖 224
5.4.5  其他內(nèi)部鎖 225
5.5  鎖等待及調(diào)整案例 228
5.5.1  鎖等待問題解決流程和
步驟 228
5.5.2  捕獲引起鎖等待的SQL
語句 230
5.5.3  利用db2pd捕獲鎖超時(shí) 233
5.5.4  利用事件監(jiān)視器捕獲鎖
超時(shí) 236
5.6  鎖升級及調(diào)整案例 238
5.6.1  監(jiān)控鎖升級 239
5.6.2  鎖升級調(diào)整 239
5.7  死鎖及調(diào)整案例 241
5.7.1  利用事件監(jiān)視器監(jiān)控死鎖 242
5.7.2  死鎖案例 243
5.7.3  最小化死鎖建議 246
5.8  最大化并發(fā)性 246
5.8.1  選擇合適的隔離級別 246
5.8.2  盡量避免鎖等待、鎖升級和
死鎖 246
5.8.3  設(shè)置合理的注冊表變量 247
5.9  鎖相關(guān)的性能問題總結(jié) 255
5.10  鎖與應(yīng)用程序開發(fā) 256
5.11  本章小結(jié) 259
第6章  索引設(shè)計(jì)與優(yōu)化 261
6.1  索引概念 261
6.1.1  索引優(yōu)點(diǎn) 261
6.1.2  索引類型 263
6.2  索引結(jié)構(gòu) 263
6.3  理解索引訪問機(jī)制 266
6.4  索引設(shè)計(jì) 269
6.4.1  創(chuàng)建索引 269
6.4.2  創(chuàng)建集群索引 270
6.4.3  創(chuàng)建雙向索引 271
6.4.4  完全索引訪問 272
6.4.5  與創(chuàng)建索引相關(guān)的問題 273
6.4.6  創(chuàng)建索引示例 273
6.5  索引創(chuàng)建原則與示例 274
6.5.1  索引與謂詞 274 6.5.2  根據(jù)查詢使用的列建立
索引 276
6.5.3  根據(jù)條件語句中謂詞的
選擇度創(chuàng)建索引 277
6.5.4  避免在建有索引的列上使用
函數(shù) 278
6.5.5  在那些需要被排序的列上
創(chuàng)建索引 278
6.5.6  合理使用INCLUDE關(guān)鍵詞
創(chuàng)建索引 280
6.5.7  指定索引的排序?qū)傩?nbsp;281
6.6  影響索引性能的相關(guān)配置 282
6.6.1  設(shè)置影響索引性能的配置
參數(shù) 282
6.6.2  為索引指定不同的表空間 282
6.6.3  確保索引的集群度 283
6.6.4  使表和索引統(tǒng)計(jì)信息保持
最新 283
6.6.5  重組索引 283
6.7  索引維護(hù) 284
6.7.1  異步索引清除(AIC) 285
6.7.2  聯(lián)機(jī)索引整理碎片 287
6.7.3  查找使用率低下的索引 287
6.7.4  索引壓縮 289
6.8  DB2 Design Advisor
(db2advis) 289
6.9  本章小結(jié) 293
第7章  DB2優(yōu)化器 299
7.1  DB2優(yōu)化器介紹 300
7.2  SQL語句執(zhí)行過程 302
7.3  優(yōu)化器組件和工作原理 304
7.3.1  查詢重寫示例:謂詞移動、
合并和轉(zhuǎn)換 305
7.3.2  優(yōu)化器成本評估 310
7.3.3  本地謂詞基數(shù)(cardinality)
估計(jì) 311
7.3.4  連接基數(shù)(cardinality)估計(jì) 313
7.3.5  分布統(tǒng)計(jì)信息 317
7.3.6  列組統(tǒng)計(jì)信息對基數(shù)的
影響 321
7.4  掃描方式 330
7.4.1  全表掃描 331
7.4.2  索引掃描 331
7.4.3  RID SCAN 334
7.5  連接方法 335
7.5.1  嵌套循環(huán)連接 336
7.5.2  合并連接 338
7.5.3  哈希連接 339
7.5.4  選擇最佳連接的策略 340
7.6  優(yōu)化級別 340
7.6.1  優(yōu)化級別概述 341
7.6.2  選擇優(yōu)化級別 344
7.6.3  設(shè)置優(yōu)化級別 345
7.7  基于規(guī)則的優(yōu)化 347
7.7.1  優(yōu)化器概要文件概述 347
7.7.2  啟用優(yōu)化概要文件 349
7.7.3  優(yōu)化概要文件使用示例 350
7.8  如何影響優(yōu)化器來提高性能 357
7.8.1  使DB2統(tǒng)計(jì)信息保持
最新 357
7.8.2  構(gòu)建適當(dāng)?shù)乃饕?nbsp;357
7.8.3  配置合理的數(shù)據(jù)庫配置
參數(shù) 358
7.8.4  選擇合適的優(yōu)化級別 359
7.8.5  合理的存儲I/O設(shè)計(jì) 359 7.8.6  良好的應(yīng)用程序設(shè)計(jì)和
編碼 360
7.9  本章小結(jié) 363
第8章  統(tǒng)計(jì)信息更新與碎片整理 365
8.1  統(tǒng)計(jì)信息更新 365
8.1.1  統(tǒng)計(jì)信息的重要性 365
8.1.2  統(tǒng)計(jì)信息更新示例 369
8.1.3  LIKE STATISTICS統(tǒng)計(jì)
信息更新 372
8.1.4  列組統(tǒng)計(jì)信息更新 374
8.1.5  分布統(tǒng)計(jì)信息更新 383
8.1.6  統(tǒng)計(jì)信息更新策略 389
8.2  自動統(tǒng)計(jì)信息更新 391
8.2.1  自動RUNSTATS的
基本概念 391
8.2.2  如何打開auto runstats 393
8.2.3  如何監(jiān)控auto runstats 395
8.2.4  DB2 V10新特性——自動
收集統(tǒng)計(jì)視圖的統(tǒng)計(jì)信息 396
8.3  碎片整理 397
8.3.1  碎片產(chǎn)生機(jī)制和影響 397
8.3.2  確定何時(shí)重組表和索引 398
8.3.3  執(zhí)行表、索引檢查是否
需要做REORG 401
8.3.4  REORG的用法和使用
策略 402
8.4  重新綁定程序包 405
8.5  本章小結(jié) 407
第9章  SQL語句調(diào)優(yōu) 409
9.1  通過監(jiān)控找出最消耗資源的
SQL語句 409
9.2  通過解釋工具分析SQL語句
執(zhí)行計(jì)劃 410
9.2.1  解釋表 411
9.2.2  Visual Explain
(可視化解釋) 412
9.2.3  db2expln 419
9.2.4  db2exfmt 422
9.2.5  各種解釋工具的比較 424
9.2.6  如何從解釋信息中獲取有
價(jià)值的建議 424
9.3  理解SQL語句如何工作 425
9.3.1  理解謂詞類型 425
9.3.2  排序和分組 428
9.3.3  連接方法 430
9.3.4  掃描方式 431
9.4  SQL調(diào)優(yōu)案例 431
9.4.1  盡量使用單條語句完成
邏輯 431
9.4.2  合理使用NOT IN和NOT
EXISTS 432
9.4.3  利用子查詢進(jìn)行優(yōu)化 434
9.4.4  調(diào)整表連接順序使JOIN
最優(yōu) 436
9.4.5  數(shù)據(jù)非均勻分布時(shí)手工指定
選擇性 437
9.4.6  使用UDF代替查詢中的
復(fù)雜部分 438
9.4.7  合并多條SQL語句到單個
SQL表達(dá)式 439
9.4.8  使用SQL一次處理一個集合
語義 440
9.4.9  在無副作用的情況下使用
SQL函數(shù) 442
9.4.10  小結(jié) 443
9.5  提高應(yīng)用程序性能 443
9.5.1  良好的SQL編碼規(guī)則 443
9.5.2  提高SQL編程性能 445
9.5.3  改進(jìn)游標(biāo)性能 447
9.5.4  根據(jù)業(yè)務(wù)邏輯選擇最低粒
度的隔離級別 448
9.5.5  通過REOPT綁定選項(xiàng)來
提高性能 448
9.5.6  統(tǒng)計(jì)信息、碎片整理和重新
綁定 449
9.5.7  避免不必要的排序 449
9.5.8  在C/S環(huán)境中利用SQL存儲
過程降低網(wǎng)絡(luò)開銷 450
9.5.9  在高并發(fā)環(huán)境下使用
連接池 450
9.5.10  使用Design Advisor(db2advis)
建議索引 450
9.5.11  提高批量刪除、插入和
更新速度 451
9.5.12  提高插入性能 451
9.5.13  高效的SELECT語句 452
9.6  高性能SQL語句注意事項(xiàng) 453
9.6.1  避免在搜索條件中使用
復(fù)雜的表達(dá)式 453
9.6.2  將 OPTIMIZE FOR n ROWS
子句與FETCH FIRST n
ROWS ONLY子句配合
使用 454
9.6.3  避免使用冗余的謂詞 454
9.6.4  避免使用多個帶有DISTINCT
關(guān)鍵字的聚集操作 455
9.6.5  避免連接列之間數(shù)據(jù)類型
不匹配 456
9.6.6  避免對表達(dá)式使用連接
謂詞 456
9.6.7  避免在謂詞中使用空操作表
達(dá)式來更改優(yōu)化器估算 456
9.6.8  確保查詢符合星型模式連接
的必需條件 457
9.6.9  避免使用非等式連接謂詞 458
9.6.10  避免使用不必要的
外連接 459
9.6.11  使用參數(shù)標(biāo)記來縮短動態(tài)
查詢的編譯時(shí)間 459
9.6.12  使用約束來提高查詢優(yōu)化
程度 460
9.7  本章小結(jié) 461
第10章  DB2調(diào)優(yōu)案例、問題總結(jié)和
技巧 463
10.1  調(diào)優(yōu)案例1:某移動公司存儲
設(shè)計(jì)不當(dāng)和SQL引起的I/O
瓶頸 463
10.2  調(diào)優(yōu)案例2:某銀行知識庫系統(tǒng)
鎖等待、鎖升級引起性能
瓶頸 470
10.3  調(diào)優(yōu)案例3:某汽車制造商ERP
系統(tǒng)通過調(diào)整統(tǒng)計(jì)信息提高
性能 478
10.4  調(diào)優(yōu)案例4:某農(nóng)信社批量代收
電費(fèi)批處理慢調(diào)優(yōu)案例 488
10.5  調(diào)優(yōu)案例5:某銀行系統(tǒng)SQL
執(zhí)行慢,通過跟蹤信息獲取
調(diào)整信息 492
10.6  調(diào)優(yōu)案例6:某銀行系統(tǒng)字段
類型定義錯誤導(dǎo)致SQL執(zhí)行
時(shí)間變長 495
10.7  調(diào)優(yōu)學(xué)習(xí)案例:利用壓力測試
程序?qū)W習(xí)DB2調(diào)優(yōu) 498

本目錄推薦

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