日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

DB2数据库性能调整和优化(第2版)

發布時間:2024/4/17 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DB2数据库性能调整和优化(第2版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
《DB2數據庫性能調整和優化(第2版)》 基本信息 作者: 牛新莊 出版社:清華大學出版社 ISBN:9787302325260 上架時間:2013-7-3 出版日期:2013 年7月 開本:16開 頁碼:528 版次:2-1 所屬分類:計算機 > 數據庫 > DB2 更多關于 》》》《DB2數據庫性能調整和優化(第2版) 》 內容簡介 計算機書籍 《db2數據庫性能調整和優化(第2版)》側重于介紹db2數據庫的性能調優。性能調優是一個系統工程:全面監控分析操作系統、i/o性能、內存、應用及數據庫才能快速找到問題根源;深刻理解db2的鎖及并發機制、索引原理、數據庫參數、優化器原理、sql語句調優等內部機理才能針對性地快速提出解決問題的方法;快照、db2pd、db2expln及事件監控器等則是必須熟練掌握的工具。這本書覆蓋了進行db2數據庫性能調優所需的全部知識和工具,并提供了大量的性能調優的實際案例。 《db2數據庫性能調整和優化(第2版)》系統性地總結了db2數據庫性能調整的方法、流程、思路和保持系統良好性能的注意要點。最難得的是作者分享了其10年積累的db2性能調優案例和經驗總結。 目錄 《db2數據庫性能調整和優化(第2版)》 第1章 性能調整概述1 1.1 性能概述2 1.2 性能評估4 1.3 建立性能目標7 1.4 什么時候需要做性能調整8 1.5 性能調整準則9 1.6 性能調整的方法和過程10 1.6.1 性能調整的步驟10 1.6.2 性能調整的限制11 1.6.3 向客戶了解情況11 1.6.4 性能調整流程圖12 1.7 性能模型15 1.7.1 輸入17 1.7.2 處理17 1.7.3 輸出23 1.8 本章小結24 第2章 操作系統及存儲的性能調優27 2.1 aix性能監控綜述29 2.1.1 監控工具29 .2.1.2 監控系統總體運行狀態30 2.1.3 監控cpu性能34 2.1.4 監控內存使用38 2.1.5 監控存儲系統狀態40 2.1.6 監控網絡狀態42 2.2 操作系統性能優化43 2.2.1 直接i/o和并發i/o44 2.2.2 異步i/o和同步i/o45 2.2.3 minpout和maxpout47 2.2.4 文件系統和裸設備47 2.2.5 負載均衡及條帶化(striping)48 2.3 邏輯卷和lvmo優化53 2.3.1 使用lvmo進行優化54 2.3.2 卷組pbuf池55 2.3.3 pbuf設置不合理導致性能問題調整案例56 2.3.4 使用ioo進行優化60 2.4 操作系統性能調整總結65 2.5 存儲i/o設計65 2.6 存儲基本概念65 2.6.1 硬盤65 2.6.2 磁盤陣列技術67 2.6.3 存儲的cache67 2.6.4 網絡存儲技術68 2.7 存儲架構69 2.7.1 存儲i/o處理過程69 2.7.2 raid iops70 2.7.3 raid 10和raid 5的比較71 2.8 良好存儲規劃的目標74 2.9 良好存儲規劃的設計原則75 2.10 存儲相關性能調整案例76 2.11 存儲i/o性能調整總結79 2.12 本章小結80 第3章 db2性能監控81 3.1 快照監視器案例81 3.1.1 監控動態sql語句81 3.1.2 監控臨時表空間使用84 3.2 事件監視器及監控案例87 3.3 利用表函數監控93 3.4 性能管理視圖及案例99 3.4.1 監控緩沖池命中率100 3.4.2 監控package cache大小101 3.4.3 監控執行成本最高的sql語句102 3.4.4 監控運行時間最長的sql語句102 3.4.5 監控sql準備和預編譯時間最長的sql語句103 3.4.6 監控執行次數最多的sql語句103 3.4.7 監控排序次數最多的sql語句104 3.4.8 監控鎖等待時間104 3.4.9 監控lock chain105 3.4.10 監控鎖內存的使用108 3.4.11 監控鎖升級、死鎖和鎖超時108 3.4.12 監控全表掃描的sql109 3.4.13 檢查頁清理器是否足夠110 3.4.14 監控prefecher是否足夠110 3.4.15 監控數據庫內存使用111 3.4.16 監控日志使用情況112 3.4.17 監控占用日志空間最舊的事務112 3.4.18 監控存儲路徑113 3.4.19 追蹤監控歷史114 3.5 db2pd114 3.5.1 常用db2pd監控選項和示例115 3.5.2 使用db2pd監控死鎖案例127 3.5.3 db2pd使用問題總結132 3.6 內存監控134 3.6.1 db2pd 內存監控134 3.6.2 db2mtrk 內存監控138 3.7 本章小結140 第4章 db2配置參數調整141 4.1 初識db2配置參數141 4.2 監控和調優實例級(dbm)配置參數143 4.2.1 代理程序相關配置參數143 4.2.2 sheapthres146 4.2.3 fcm_num_buffers146 4.2.4 sheapthres_shr147 4.2.5 intra_parallel147 4.2.6 mon_heap_sz148 4.2.7 query_heap_sz148 4.3 監控和調優數據庫級配置參數148 4.3.1 緩沖池大小149 4.3.2 日志緩沖區大小(logbufsz)155 4.3.3 應用程序堆大小(applheapsz)156 4.3.4 sortheap和sheapthres_shr157 4.3.5 鎖相關配置參數159 4.3.6 活動應用程序的最大數目(maxappls)163 4.3.7 pckcachesz163 4.3.8 catalogcache_sz164 4.3.9 異步頁清除程序的數目(num_iocleaners)164 4.3.10 異步i/o 服務器的數目(num_ioservers)166 4.3.11 組提交數目(mincommit)166 4.3.12 avg_appls168 4.3.13 chngpgs_thresh(db)168 4.3.14 maxfilop169 4.3.15 logprimary、logsecond和logfilsz169 4.3.16 stmtheap170 4.3.17 dft_queryopt170 4.3.18 util_heap_sz (db)170 4.4 調整db2概要注冊變量170 4.4.1 db2_parallel_io171 4.4.2 db2_evaluncommitted173 4.4.3 db2_skipdeleted173 4.4.4 db2_skipinserted173 4.4.5 db2_use_page_container_tag173 4.4.6 db2_selectivity173 4.4.7 db2_logger_non_ buffered_io174 4.5 內存自動調優174 4.5.1 內存自動調優示例175 4.5.2 啟用內存自動調優及相關參數176 4.5.3 內存配置參數的配置原則178 4.6 本章小結179 第5章 高級鎖與優化181 5.1 隔離級別與鎖181 5.1.1 可重復讀(rr—repeatable read)182 5.1.2 讀穩定性(rs—read stability)184 5.1.3 游標穩定性(cs—cursor stability)186 5.1.4 當前提交(currently committed)188 5.1.5 未提交讀(ur—uncommitted read)190 5.1.6 隔離級別總結193 5.2 加鎖總結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 locks198 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 樂觀鎖應用案例212 5.4 內部鎖221 5.4.1 內部方案鎖(internal plan lock)221 5.4.2 內部v鎖(internal variation lock)222 5.4.3 內部s鎖223 5.4.4 內部c鎖224 5.4.5 其他內部鎖225 5.5 鎖等待及調整案例228 5.5.1 鎖等待問題解決流程和步驟228 5.5.2 捕獲引起鎖等待的sql語句230 5.5.3 利用db2pd捕獲鎖超時233 5.5.4 利用事件監視器捕獲鎖超時236 5.6 鎖升級及調整案例238 5.6.1 監控鎖升級239 5.6.2 鎖升級調整239 5.7 死鎖及調整案例241 5.7.1 利用事件監視器監控死鎖242 5.7.2 死鎖案例243 5.7.3 最小化死鎖建議246 5.8 最大化并發性246 5.8.1 選擇合適的隔離級別246 5.8.2 盡量避免鎖等待、鎖升級和死鎖246 5.8.3 設置合理的注冊表變量247 5.9 鎖相關的性能問題總結255 5.10 鎖與應用程序開發256 5.11 本章小結259 第6章 索引設計與優化261 6.1 索引概念261 6.1.1 索引優點261 6.1.2 索引類型263 6.2 索引結構263 6.3 理解索引訪問機制266 6.4 索引設計269 6.4.1 創建索引269 6.4.2 創建集群索引270 6.4.3 創建雙向索引271 6.4.4 完全索引訪問272 6.4.5 與創建索引相關的問題273 6.4.6 創建索引示例273 6.5 索引創建原則與示例274 6.5.1 索引與謂詞274 6.5.2 根據查詢使用的列建立索引276 6.5.3 根據條件語句中謂詞的選擇度創建索引277 6.5.4 避免在建有索引的列上使用函數278 6.5.5 在那些需要被排序的列上創建索引278 6.5.6 合理使用include關鍵詞創建索引280 6.5.7 指定索引的排序屬性281 6.6 影響索引性能的相關配置282 6.6.1 設置影響索引性能的配置參數282 6.6.2 為索引指定不同的表空間282 6.6.3 確保索引的集群度283 6.6.4 使表和索引統計信息保持最新283 6.6.5 重組索引283 6.7 索引維護284 6.7.1 異步索引清除(aic)285 6.7.2 聯機索引整理碎片287 6.7.3 查找使用率低下的索引287 6.7.4 索引壓縮289 6.8 db2 design advisor(db2advis)289 6.9 本章小結293 第7章 db2優化器299 7.1 db2優化器介紹300 7.2 sql語句執行過程302 7.3 優化器組件和工作原理304 7.3.1 查詢重寫示例:謂詞移動、合并和轉換305 7.3.2 優化器成本評估310 7.3.3 本地謂詞基數(cardinality)估計311 7.3.4 連接基數(cardinality)估計313 7.3.5 分布統計信息317 7.3.6 列組統計信息對基數的影響321 7.4 掃描方式330 7.4.1 全表掃描331 7.4.2 索引掃描331 7.4.3 rid scan334 7.5 連接方法335 7.5.1 嵌套循環連接336 7.5.2 合并連接338 7.5.3 哈希連接339 7.5.4 選擇最佳連接的策略340 7.6 優化級別340 7.6.1 優化級別概述341 7.6.2 選擇優化級別344 7.6.3 設置優化級別345 7.7 基于規則的優化347 7.7.1 優化器概要文件概述347 7.7.2 啟用優化概要文件349 7.7.3 優化概要文件使用示例350 7.8 如何影響優化器來提高性能357 7.8.1 使db2統計信息保持最新357 7.8.2 構建適當的索引357 7.8.3 配置合理的數據庫配置參數358 7.8.4 選擇合適的優化級別359 7.8.5 合理的存儲i/o設計359 7.8.6 良好的應用程序設計和編碼360 7.9 本章小結363 第8章 統計信息更新與碎片整理365 8.1 統計信息更新365 8.1.1 統計信息的重要性365 8.1.2 統計信息更新示例369 8.1.3 like statistics統計信息更新372 8.1.4 列組統計信息更新374 8.1.5 分布統計信息更新383 8.1.6 統計信息更新策略389 8.2 自動統計信息更新391 8.2.1 自動runstats的基本概念391 8.2.2 如何打開auto runstats393 8.2.3 如何監控auto runstats395 8.2.4 db2 v10新特性——自動收集統計視圖的統計信息396 8.3 碎片整理397 8.3.1 碎片產生機制和影響397 8.3.2 確定何時重組表和索引398 8.3.3 執行表、索引檢查是否需要做reorg401 8.3.4 reorg的用法和使用策略402 8.4 重新綁定程序包405 8.5 本章小結407 第9章 sql語句調優409 9.1 通過監控找出最消耗資源的sql語句409 9.2 通過解釋工具分析sql語句執行計劃410 9.2.1 解釋表411 9.2.2 visual explain(可視化解釋)412 9.2.3 db2expln419 9.2.4 db2exfmt422 9.2.5 各種解釋工具的比較424 9.2.6 如何從解釋信息中獲取有價值的建議424 9.3 理解sql語句如何工作425 9.3.1 理解謂詞類型425 9.3.2 排序和分組428 9.3.3 連接方法430 9.3.4 掃描方式431 9.4 sql調優案例431 9.4.1 盡量使用單條語句完成邏輯431 9.4.2 合理使用not in和not exists432 9.4.3 利用子查詢進行優化434 9.4.4 調整表連接順序使join最優436 9.4.5 數據非均勻分布時手工指定選擇性437 9.4.6 使用udf代替查詢中的復雜部分438 9.4.7 合并多條sql語句到單個sql表達式439 9.4.8 使用sql一次處理一個集合語義440 9.4.9 在無副作用的情況下使用sql函數442 9.4.10 小結443 9.5 提高應用程序性能443 9.5.1 良好的sql編碼規則443 9.5.2 提高sql編程性能445 9.5.3 改進游標性能447 9.5.4 根據業務邏輯選擇最低粒度的隔離級別448 9.5.5 通過reopt綁定選項來提高性能448 9.5.6 統計信息、碎片整理和重新綁定449 9.5.7 避免不必要的排序449 9.5.8 在c/s環境中利用sql存儲過程降低網絡開銷450 9.5.9 在高并發環境下使用連接池450 9.5.10 使用design advisor(db2advis)建議索引450 9.5.11 提高批量刪除、插入和更新速度451 9.5.12 提高插入性能451 9.5.13 高效的select語句452 9.6 高性能sql語句注意事項453 9.6.1 避免在搜索條件中使用復雜的表達式453 9.6.2 將 optimize for n rows子句與fetch first n rows only子句配合使用454 9.6.3 避免使用冗余的謂詞454 9.6.4 避免使用多個帶有distinct關鍵字的聚集操作455 9.6.5 避免連接列之間數據類型不匹配456 9.6.6 避免對表達式使用連接謂詞456 9.6.7 避免在謂詞中使用空操作表達式來更改優化器估算456 9.6.8 確保查詢符合星型模式連接的必需條件457 9.6.9 避免使用非等式連接謂詞458 9.6.10 避免使用不必要的外連接459 9.6.11 使用參數標記來縮短動態查詢的編譯時間459 9.6.12 使用約束來提高查詢優化程度460 9.7 本章小結461 第10章 db2調優案例、問題總結和技巧463 10.1 調優案例1:某移動公司存儲設計不當和sql引起的i/o瓶頸463 10.2 調優案例2:某銀行知識庫系統鎖等待、鎖升級引起性能瓶頸470 10.3 調優案例3:某汽車制造商erp系統通過調整統計信息提高性能478 10.4 調優案例4:某農信社批量代收電費批處理慢調優案例488 10.5 調優案例5:某銀行系統sql執行慢,通過跟蹤信息獲取調整信息492 10.6 調優案例6:某銀行系統字段類型定義錯誤導致sql執行時間變長495 10.7 調優學習案例:利用壓力測試程序學習db2調優498 圖書信息來源:互動出版網

?

轉載于:https://www.cnblogs.com/china-pub/p/3171879.html

總結

以上是生活随笔為你收集整理的DB2数据库性能调整和优化(第2版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。