Oracle高性能SQL引擎剖析

出版時間:2013-1-10  出版社:黃瑋 機械工業出版社 (2013-01出版)  作者:黃瑋  頁數:458  
Tag標簽:無  

內容概要

  《數據庫技術叢書·Oracle高性能SQL引擎剖析:SQL優化與調優機制詳解》是Oracle數據庫性能優化領域的里程碑之作,通過對Oracle高性能SQL引擎的深入剖析,深刻揭示了OracleSQL的優化與調優機制、核心技術,以及性能優化的思想方法,是作者十余年工作經驗與研究心得的結晶,包含大量技巧與最佳實踐。  《數據庫技術叢書·Oracle高性能SQL引擎剖析:SQL優化與調優機制詳解》共分為三個部分。第一篇“執行計劃”,首先詳細講解了各種執行計劃的含義與操作,為后面的深入分析打下基礎;然后重點講解了執行計劃在SQL語句執行的生命周期中所處的位置和作用,SQL引擎如何生成執行計劃以及如何獲取SQL語句的執行計劃,如何從各種數據源顯示和查看已經生成執行計劃等。第二篇“SQL優化技術”,深入分析了Oracle的SQL優化技術,包括邏輯優化技術和物理優化技術,用大量示例詳盡分析了Oracle中現有的各種查詢轉換技術。第三篇“SQL調優技術”,深入剖析了Oracle提供的各項調優技術,首先對語句實際運行的性能統計數據進行了深度分析,介紹了各項統計數據是由什么操作導致的以及如何統計;然后講解了如何對SQL語句進行優化,以及如何獲得穩定、高效的性能;最后,根據對SQL優化及調優技術的分析,總結如何快速優化SQL的思路。

作者簡介

黃瑋,資深Oracle數據庫管理員,從事DBA工作十幾年,有豐富的大型數據庫開發、設計和維護經驗,涉及水利、軍工、電信及航運等行業。目前供職于某世界著名物流公司,負責公司的電子物流系統的數據庫開發、維護工作。2005年創建個人網站www.HelloDBA.com,并致力于數據庫方面的基礎性技術研究,整理和發布了大量關于數據庫系統的底層機制、存儲結構、性能調優以及基礎算法的文章,開發了多個數據恢復、性能監控、內核跟蹤等免費的實用工具,為Oracle社區做出了應有的貢獻。

書籍目錄

序前言第一篇 執行計劃第1章 生成和顯示執行計劃 31.1 生成執行計劃 31.2 顯示執行計劃 41.2.1 通過查詢語句顯示計劃 41.2.2 通過包DBMS_XPLAN顯示計劃 41.2.3 AUTOTRACE 121.2.4 其他方法 13第2章 解讀執行計劃 152.1 執行計劃的基本數據 152.2 內部函數與操作 172.3 執行計劃各個列的含義 192.4 執行計劃各個操作的含義 212.4.1 語句類型 212.4.2 訪問路徑方法 232.4.3 位圖操作 312.4.4 排序操作 332.4.5 關聯操作 362.4.6 層次查詢操作 422.4.7 視圖操作 452.4.8 數據集合操作 452.4.9 分區操作 482.4.10 并行查詢操作 512.4.11 聚合操作 572.4.12 分析函數操作 582.4.13 模型化操作 602.4.14 數據和對象管理操作 632.4.15 其他操作 652.5 執行計劃中其他信息的含義 692.5.1 查詢塊和對象別名 692.5.2 計劃概要數據 702.5.3 綁定變量信息 702.5.4 分布式查詢語句信息 722.5.5 注釋 72第二篇 SQL優化技術第3章 查詢轉換 753.1 啟發式查詢轉換 753.1.1 簡單視圖合并 763.1.2 子查詢反嵌套 813.1.3 子查詢推進 863.1.4 舊關聯謂詞推入 873.1.5 簡單過濾謂詞推入 903.1.6 謂詞遷移 913.1.7 “或”操作擴張 913.1.8 物化視圖查詢重寫 923.1.9 集合操作關聯轉變 943.1.10 由約束生成過濾謂詞 953.1.11 星形轉換 963.1.12 排序消除 983.1.13 DISTINCT消除 993.1.14 表消除 993.1.15 子查詢合并 1023.1.16 公共子表達式消除 1043.1.17 計數函數轉變 1053.1.18 表達式和條件評估 1053.1.19 聚集子查詢消除 1113.1.20 DISTINCT聚集函數轉換 1113.1.21 選擇字段裁剪 1133.1.22 DISTINCT消除 1143.1.23 DISTINCT推入 1143.1.24 集合分組查詢轉換 1153.1.25 集合分組查詢重寫 1153.1.26 集合分組裁剪 1173.1.27 外關聯消除 1183.1.28 真正完全外關聯 1193.1.29 左(右)外關聯轉換為側視圖 1203.2 基于代價的查詢轉換 1233.2.1 復雜視圖合并 1233.2.2 關聯謂詞推入 1243.2.3 謂詞提取 1263.2.4 GROUP BY配置 1273.2.5 表擴張 1283.2.6 關聯因式分解 1303.2.7 DISTINCT配置 1313.2.8 WITH子查詢轉換 132第4章 統計數據 1344.1 系統統計數據 1344.1.1 系統統計數據收集 1364.1.2 系統統計數據管理 1374.1.3 根據系統負載狀況靈活管理 1404.1.4 全局參數管理 1424.1.5 項管理 1434.2 對象統計數據 1464.2.1 表統計數據 1504.2.2 索引統計數據 1504.2.3 字段統計數據 1514.2.4 擴展統計數據 1524.2.5 對象統計數據的管理 1534.2.6 “待定”統計數據的管理 1604.3 對象統計數據收集過程分析 1614.3.1 表統計數據收集與計算 1614.3.2 字段統計數據收集與計算 1644.3.3 柱狀圖數據收集與計算 1704.3.4 索引統計數據收集與計算 182第5章 執行計劃的代價估算 1865.1 代價模型 1875.2 基本代價計算公式 1875.3 選擇率計算 1905.3.1 單過濾條件 1905.3.2 綁定變量無具體數值 1905.3.3 綁定變量有數值無柱狀圖 1915.3.4 使用柱狀圖 1925.3.5 過濾條件的組合 1965.4 多數據塊讀操作代價計算 1975.4.1 代價模型 1975.4.2 IO代價計算 1995.4.3 CPU代價計算 2025.4.4 執行計劃中其他數據的計算 2095.4.5 全表掃描代價計算演示 2095.5 并行掃描操作代價計算 2185.5.1 IO代價計算 2195.5.2 CPU代價計算 2215.6 單數據塊讀操作代價計算 2225.6.1 IO代價計算 2225.6.2 CPU代價計算 2265.6.3 單數據塊讀操作代價計算演示 2285.7 排序操作代價計算 2335.7.1 是否需要寫入磁盤 2335.7.2 IO代價計算 2345.7.3 CPU代價計算 2365.7.4 臨時磁盤空間計算 2365.7.5 排序代價計算演示 2375.8 關聯操作代價計算 2415.8.1 關聯選擇率 2425.8.2 嵌套循環關聯代價計算 2425.8.3 排序合并關聯代價計算 2495.8.4 哈希關聯代價計算 2525.9 并行模式下的關聯代價計算 2605.9.1 IO代價計算 2625.9.2 CPU代價計算 2635.9.3 代價計算演示 263第三篇 SQL調優技術第6章 SQL語句運行性能分析 2706.1 性能統計數據 2706.1.1 邏輯讀 2726.1.2 一致性獲取 2736.1.3 一致性直接獲取 2736.1.4 由緩存一致性獲取 2736.1.5 一致性修改 2746.1.6 數據塊修改 2756.1.7 物理讀入緩存 2766.1.8 物理預提取讀入緩存 2766.1.9 排序數據行 2776.1.10 遞歸調用 2786.2 邏輯讀分析 2806.2.1 一致性讀分析 2806.2.2 當前模式讀分析 3096.3 物理讀分析 3196.3.1 物理直接讀 3196.3.2 物理讀入緩存與LRU算法 378第7章 Oracle調優技術 3877.1 存儲概要 3877.1.1 什么是存儲概要 3887.1.2 創建存儲概要 3897.1.3 管理存儲概要 3917.1.4 使用存儲概要 3927.2 SQL執行計劃管理 3947.2.1 創建和增加執行計劃基線 3957.2.2 進化歷史執行計劃 4057.2.3 優化器從基線中選擇執行計劃 4077.3 Oracle自動調優 4097.3.1 創建調優任務 4107.3.2 SQL調優建議器的參數 4107.3.3 自動調優分析 4127.4 SQL性能分析器 4237.4.1 性能分析過程 4247.4.2 SQL性能分析示例 4267.5 SQL訪問建議器 4287.5.1 建議器選擇新索引分析過程 4287.5.2 使用SQL訪問建議器 433第8章 快速調優思路 4418.1 統計數據檢查 4418.2 從執行計劃中找到潛在問題 4448.2.1 是否存在多個游標 4448.2.2 輸出結果中特別注釋 4478.2.3 存在潛在性能問題的操作 4488.2.4 謂詞信息 4528.2.5 概要數據以及優化器環境檢查 4558.3 物理設計優化 4568.3.1 索引 4568.3.2 分區 4578.3.3 物化視圖 4588.3.4 約束 458

章節摘錄

第一篇 執行計劃執行計劃是指示Oracle如何獲取和過濾數據、產生最終結果集,是影響SQL語句執行性能的關鍵因素。我們在深入了解執行計劃之前,首先需要知道執行計劃是在什么時候產生的,以及如何讓SQL引擎為語句生成執行計劃。在深入了解執行計劃之前,我們先了解SQL語句的處理執行過程。當一條語句提交到Oracle后,SQL引擎會分為三個步驟對其處理和執行:解析(Parse)、執行(Execute)和獲取(Fetch),分別由SQL引擎的不同組件完成。SQL引擎的組件如圖1-1所示。1. SQL編譯器(SQL Compiler)將語句編譯到一個共享游標中。SQL編譯器由解析器(Parser)、查詢優化器(Query Optimizer)和行源生成器(Row Source Generator)組成。q 解析器(Parser)—執行對SQL語句的語法、語義分析,將查詢中的視圖展開、劃分為小的查詢塊。q 查詢優化器(Query Optimizer)—為語句生成一組可能被使用的執行計劃,估算出每個執行計劃的代價,并調用計劃生成器(Plan Generator)生成計劃,比較計劃的代價,最終選擇選擇一個代價最小的計劃。查詢優化器由查詢轉換器(Query Transform)、代價估算器(Estimator)和計劃生成器(Plan Generator)組成。注意,上述優化器實際上指的是基于代價的優化器(Cost Based Optimizer,CBO),CBO也是當前采用的所有優化和調優技術的核心基礎。

媒體關注與評論

黃瑋是個實證派,而研究優化器算法,也唯有實證派才能夠勝任。他通過大量測試進行推演,從而破解CBO計算法則,這不僅需要深入的計算機知識,也需要極大的耐心和毅力。這滿紙的公式與數字對于讀者來說,可能會成為過眼云煙;而對于作者來說,卻是錙銖必較的艱苦之旅。——蓋國強云和恩墨創始人、OracleACE總監、ITPUB論壇超級版主

編輯推薦

《Oracle高性能SQL引擎剖析:SQL優化與調優機制詳解》編輯推薦:資深Oracle DBA黃瑋(Fuyuncat)十年磨一劍,深入揭示Oracle SQL優化與調優的原理、核心技術與思想方法,蓋國強鼎力推薦!

名人推薦

黃瑋是個實證派,而研究優化器算法,也唯有實證派才能夠勝任,他通過大量測試進行推演,從而破解CBO計算法則,這不僅需要深入的計算機知識,也需要極大的耐心和毅力,這滿紙的數字對于讀者來說,可能會成為過眼云煙,而對于作者來說,卻是錙銖必較的艱苦之旅。——蓋國強 云和恩墨創始人、Oracle ACE總監、ITPUB論壇超級版主

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Oracle高性能SQL引擎剖析 PDF格式下載



用戶評論 (總計16條)

 
 

  •     不適合初學者現在大部分看不懂,等有時間再看
  •     書收到了。里面的內容還在仔細研讀中。我昨天今天兩個訂單都是超過99元 ,都有贈書,坑爹的 亞馬遜今天給我 把兩本贈書 都“單獨”“包裝”“出售”給我,我果斷拒收!現在 亞馬遜貌似換了 物流配送單位,不進校門,并且今天沒給我發短信,害我飯都沒吃成急急忙忙去取書!反而送貨的還責怪我!上次也是不進校門,你們改進服務,總結工作失誤,只想撈錢的話,我就去京東等買!
  •     真的看不懂,適合數學家級別的超高級DBA用。
  •     如果你喜歡深究oraclesql技術,此書一定會滿足你的好奇心
  •     誰看了誰知道,我反正是不知道
  •     深入剖析ORACLE SQL的優化與調優機制,核心技術和思想方法,包含大量技巧和最佳實踐
  •     看起來,書的質量還不錯
  •     實用性挺強的,適合初學的人
  •     據說sql優化與調優是最難的,作為儲備知識需要學習;
  •     黃瑋的,支持一下,有什么心得或疑問的再和黃老師交流交流。
  •     內容很吸引人,講解挺有條理,需要花費心思專研才行。
  •     這本書很強大,適合有一定基礎的人看
  •     顯然作者是極為用功的,推導了大量公式并進行比較與分析。
  •     包裝完整,書本不錯。
  •     SQL優化與調優機制詳解
  •     價格比蘇寧易購貴
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

第一圖書網(tushu007.com) @ 2017

玩北京pk10投注平台