數(shù)據(jù)庫索引設(shè)計與優(yōu)化是數(shù)據(jù)庫領(lǐng)域的的重要理論大作,是每一個從事數(shù)據(jù)庫領(lǐng)域工作者必讀的一本書,由(美)拉赫登邁奇(Tapio Lahdenmaki),(美)利奇(Michael Leach) 著,曹怡倩,趙建偉翻譯,電子工業(yè)出版社出版。
全書花了大量的篇幅講解索引基礎(chǔ)的各種理論知識和如何綜合評估索引使用的代價,而不是簡單的介紹SQL的編寫或SQL優(yōu)化,當你認真熟讀本書后,相信你對數(shù)據(jù)庫的索引設(shè)計和代價評估等方面就可以很輕松的解決了。
本書旨在——通過設(shè)計適用于現(xiàn)代硬件的索引,來提升關(guān)系型數(shù)據(jù)庫的性能,歡迎免費下載閱讀。
Michael Leach,關(guān)系型數(shù)據(jù)庫顧問,已從IBM公司退休,他擁有二十年的應(yīng)用系統(tǒng)及數(shù)據(jù)庫課程的教授經(jīng)驗。兩位作者的文章均被翻譯成了多國語言廣為傳播。他們有關(guān)索引設(shè)計的方法被成功應(yīng)用于許多核心系統(tǒng)。
2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進行閱讀
收起介紹展開介紹
全書花了大量的篇幅講解索引基礎(chǔ)的各種理論知識和如何綜合評估索引使用的代價,而不是簡單的介紹SQL的編寫或SQL優(yōu)化,當你認真熟讀本書后,相信你對數(shù)據(jù)庫的索引設(shè)計和代價評估等方面就可以很輕松的解決了。
本書旨在——通過設(shè)計適用于現(xiàn)代硬件的索引,來提升關(guān)系型數(shù)據(jù)庫的性能,歡迎免費下載閱讀。
內(nèi)容介紹
數(shù)據(jù)庫索引設(shè)計與優(yōu)化提供了一種簡單、高效、通用的關(guān)系型數(shù)據(jù)庫索引設(shè)計方法。作者通過系統(tǒng)的講解及大量的案例清晰地闡釋了關(guān)系型數(shù)據(jù)庫的訪問路徑選擇原理,以及表和索引的掃描方式,詳盡地講解了如何快速地估算SQL運行的CPU時間及執(zhí)行時間,幫助讀者從原理上理解SQL、表及索引結(jié)構(gòu)、訪問方式等對關(guān)系型數(shù)據(jù)庫造成的影響,并能夠運用量化的方法進行判斷和優(yōu)化,指導(dǎo)關(guān)系型數(shù)據(jù)庫的索引設(shè)計。作者簡介
Tapio Lahdenmaki,數(shù)據(jù)庫性能顧問,教授通用索引設(shè)計課程。他在IBM公司工作了三十多年,是公司課程中有關(guān)DB2(forz/OS)性能相關(guān)課程的主要作者。Michael Leach,關(guān)系型數(shù)據(jù)庫顧問,已從IBM公司退休,他擁有二十年的應(yīng)用系統(tǒng)及數(shù)據(jù)庫課程的教授經(jīng)驗。兩位作者的文章均被翻譯成了多國語言廣為傳播。他們有關(guān)索引設(shè)計的方法被成功應(yīng)用于許多核心系統(tǒng)。
數(shù)據(jù)庫索引設(shè)計與優(yōu)化章節(jié)目錄
第1章 概述 關(guān)于SQL性能的另一本書 不合適的索引 誤區(qū)和誤解 誤區(qū)1:索引層級不要超過5層 誤區(qū)2:單表的索引數(shù)不要超過6個 誤區(qū)3:不應(yīng)該索引不穩(wěn)定的列 示例 磁盤驅(qū)動器使用率 系統(tǒng)化的索引設(shè)計 第2章 表和索引結(jié)構(gòu) 介紹 索引頁和表頁 索引行 索引結(jié)構(gòu) 表行 緩沖池和磁盤I/O 從DBMS緩沖池進行的讀取 從磁盤驅(qū)動器進行的隨機I/O 從磁盤服務(wù)器緩存進行的讀取 從磁盤驅(qū)動器進行的順序讀取 輔助式隨機讀 輔助式順序讀 同步I/O和異步I/O 硬件特性 DBMS特性 頁 表聚簇 索引行 表行 索引組織表 頁鄰接 B樹索引的替代品 聚簇的許多含義 第3章 SQL處理過程 簡介 謂詞 評注 優(yōu)化器及訪問路徑 索引片及匹配列 索引過濾及過濾列 訪問路徑術(shù)語 監(jiān)控優(yōu)化器 幫助優(yōu)化器(統(tǒng)計信息) 幫助優(yōu)化器(FETCH調(diào)用的次數(shù)) 何時確定訪問路徑 過濾因子 組合謂詞的過濾因子 過濾因子對索引設(shè)計的影響 物化結(jié)果集 游標回顧 方式1:一次FETCH調(diào)用物化一條記錄 方式2:提前物化 數(shù)據(jù)庫設(shè)計人員必須牢記 練習(xí) 第4章 為SELETE語句創(chuàng)建理想的索引 簡介 磁盤及CPU時間的基礎(chǔ)假設(shè) 不合適的索引 三星索引--查詢語句的理想索引 星級是如何給定的 范圍謂詞和三星索引 為查詢語句設(shè)計zui佳索引的算法 候選A 候選B 現(xiàn)今排序速度很快--為什么我們還需要候選B 需要為所有查詢語句都設(shè)計理想索引嗎 完全多余的索引 近乎多余的索引 可能多余的索引 新增一個索引的代價 響應(yīng)時間 磁盤負載 磁盤空間 一些建議 練習(xí) 第5章 前瞻性的索引設(shè)計 發(fā)現(xiàn)不合適的索引 基本問題法(BQ) 注意 快速上限估算法(QUBE) 服務(wù)時間 排隊時間 基本概念:訪問 計算訪問次數(shù) FETCH處理 主要訪問路徑的QUBE示例 使用滿足需求的成本zui低的索引還是所能達到的zui優(yōu)索引:示例1 該事務(wù)的基本問題 對該事務(wù)上限的快速估算 使用滿足需求的成本zui低的索引還是所能達到的zui優(yōu)索引 該事務(wù)的zui佳索引 半寬索引(zui大化索引過濾) 寬索引(只需訪問索引) 使用滿足需求的成本zui低的索引還是所能達到的zui優(yōu)索引:示例2 范圍事務(wù)的BQ及QUBE 該事務(wù)的zui佳索引 半寬索引(zui大化索引過濾) 寬索引(只需訪問索引) 何時使用QUBE 第6章 影響索引設(shè)計過程的因素 I/O時間估算的驗證 多個窄索引片 簡單就是美(和安全) 困難謂詞 LIKE謂詞 OR操作符和布爾謂詞 IN謂詞 過濾因子隱患 過濾因子隱患的例子 zui佳索引 半寬索引(zui大化索引過濾) 寬索引(只需訪問索引) 總結(jié) 練習(xí) 第7章 被動式索引設(shè)計 簡介 EXPLAIN描述了所選擇的訪問路徑 全表掃描或全索引掃描 對結(jié)果集排序 成本估算 數(shù)據(jù)庫管理系統(tǒng)特定的EXPLAIN選項及限制 監(jiān)視揭示現(xiàn)實 性能監(jiān)視器的演進 LRT級別的異常監(jiān)視 程序粒度的均值是不夠的 異常報告舉例:每個尖刺一行 問題制造者和受害者 有優(yōu)化空間的問題制造者和無優(yōu)化空間的問題制造者 有優(yōu)化空間的問題制造者 調(diào)優(yōu)的潛在空間 無優(yōu)化空間的問題制造者 受害者 查找慢的SQL調(diào)用 調(diào)用級別的異常監(jiān)視 Oracle舉例 SQL Server舉例 結(jié)論 數(shù)據(jù)庫管理系統(tǒng)特定的監(jiān)視問題 尖刺報告 練習(xí) 第8章 為表連接設(shè)計索引 簡介 兩個簡單的表連接 例8.1:CUST表作為外層表 例8.2:INVOICE表作為外層表 表訪問順序?qū)λ饕O(shè)計的影響 案例研究 現(xiàn)有索引 理想索引 理想索引,每事務(wù)物化一屏結(jié)果集 理想索引,每事務(wù)物化一屏結(jié)果集且遇到FF缺陷 基本連接的問題(BJQ) 結(jié)論:嵌套循環(huán)連接 預(yù)測表的訪問順序 合并掃描連接和哈希連接 合并掃描連接 例8.3:合并掃描連接 哈希連接 程序C:由優(yōu)化器選擇MS/HJ(在現(xiàn)有索引條件下) 理想索引 嵌套循環(huán)連接VS. MS/HJ及理想索引 嵌套循環(huán)連接VS. MS/HJ 嵌套循環(huán)連接VS.理想索引 連接兩張以上的表 為什么連接的性能表現(xiàn)較差 模糊的索引設(shè)計 優(yōu)化器可能選擇錯誤的表訪問路徑 樂觀的表設(shè)計 為子查詢設(shè)計索引 為UNION語句設(shè)計索引 對于表設(shè)計的思考 冗余數(shù)據(jù) 無意識的表設(shè)計 練習(xí) 第9章 星型連接 介紹 維度表的索引設(shè)計 表訪問順序的影響 事實表的索引 匯總表 第10章 多索引訪問 簡介 索引與 與查詢表一同使用索引與 多索引訪問和事實數(shù)據(jù)表 用位圖索引進行多索引訪問 索引或 索引連接 練習(xí) 第11章 索引和索引重組 B樹索引的物理結(jié)構(gòu) DBMS如何查找索引行 插入一行時會發(fā)生什么 葉子頁的分裂嚴重嗎 什么時候應(yīng)該對索引進行重組 插入模式 索引列的穩(wěn)定性 長索引行 舉例:對順序敏感的批處理任務(wù) 表亂序(存在聚簇索引) 表亂序(沒有以CNO開頭的聚簇索引) 存儲在葉子頁中的表行 SQL Server Oracle 索引重組的代價 分裂的監(jiān)控 總結(jié) 第12章 數(shù)據(jù)庫管理系統(tǒng)相關(guān)的索引限制 簡介 索引列的數(shù)量 索引列的總長度 變長列 單表索引數(shù)量上限 索引大小上限 索引鎖定 索引行壓縮 數(shù)據(jù)庫管理系統(tǒng)索引創(chuàng)建舉例 第13章 數(shù)據(jù)庫索引選項 簡介 索引行壓縮 索引鍵以外的其他索引列 唯1約束 從不同的方向掃描數(shù)據(jù)庫索引 索引鍵截斷 基于函數(shù)的索引 索引跳躍式掃描 塊索引 數(shù)據(jù)分區(qū)的二級索引 練習(xí) 第14章 優(yōu)化器不是完美的 簡介 優(yōu)化器并不總能看見zui佳方案 匹配及過濾問題 非BT謂詞 無法避免的排序 不必要的表訪問 優(yōu)化器的成本估算可能錯得離譜 使用綁定變量的范圍謂詞 偏斜分布 相關(guān)列 部分索引鍵的警示故事 成本估算公式 估算I/O時間 估算CPU時間 協(xié)助優(yōu)化器處理估算相關(guān)的問題 優(yōu)化器的問題是否會影響索引設(shè)計 練習(xí) 第15章 其他評估事項 QUBE公式背后的假設(shè)條件 內(nèi)存中的非葉子索引頁 例子 磁盤服務(wù)器讀緩存的影響 緩沖子池 長記錄 慢速順序讀 實際的響應(yīng)時間可能比QUBE評估值短得多 葉子頁和表頁緩存在緩沖池中 識別低成本的隨機訪問 輔助式隨機讀取 輔助式順序讀 評估CPU時間(CQUBE) 單次順序訪問的CPU時間 單次隨機訪問的CPU時間 單次FETCH調(diào)用的CPU時間 每排序一行的平均CPU時間 CPU評估舉例 寬索引還是理想索引 嵌套循環(huán)(及反范式化)還是MS/HJ 合并掃描與哈希連接的比較 跳躍式順序掃描 CPU時間仍然不可忽視 第16章 組織索引設(shè)計過程 簡介 計算機輔助式索引設(shè)計 設(shè)計出色索引的9個步驟 參考文獻 術(shù)語表 索引
使用說明
1、下載并解壓,得出pdf文件2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進行閱讀
- 下載地址
發(fā)表評論
0條評論軟件排行榜
熱門推薦
- 南方Plus電腦版 v11.8.027.22M / 簡體中文
- 有柿電腦版 v11.5.684.06M / 簡體中文
- 得間免費小說電腦版 v5.2.7.172.56M / 簡體中文
- 數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡體中文
- 吉利博瑞用戶手冊 pdf高清版57.89M / 簡體中文
- 開源閱讀電腦版 v3.2517.96M / 簡體中文
- 京東讀書電腦版 v1.13.4官方版1.98M / 簡體中文
- 未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
- 本草綱目 5.34M / 簡體中文
- Scala程序設(shè)計第二版 pdf高清完整版15.83M / 簡體中文