出版時(shí)間:2013-1 出版社:人民郵電出版社 作者:[美] Kuhn,D.,[美] Alapati,S.R.,[美] Padfield,B. 頁數(shù):210 字?jǐn)?shù):325000 譯者:盧濤
Tag標(biāo)簽:無
前言
譯 者 序在應(yīng)用程序開發(fā)工作中,之所以要用到數(shù)據(jù)庫,很大一方面原因是數(shù)據(jù)庫能確保數(shù)據(jù)的安全和高效存取,這樣我們可以專心開發(fā)與業(yè)務(wù)相關(guān)的功能,而不必操心對(duì)底層數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的具體實(shí)現(xiàn)。數(shù)據(jù)庫利用各種方式維護(hù)數(shù)據(jù)的完整性、一致性,并提高數(shù)據(jù)查詢和更改操作的效率,其中索引是非常重要的一種方式。Oracle體系結(jié)構(gòu)龐大,它的索引種類繁多、特點(diǎn)各異,每種都有適用的場(chǎng)合和值得注意之處。隨著版本的更新,Oracle不斷增加新的索引類型。要開發(fā)正確、高效的應(yīng)用程序,必須在一開始就計(jì)劃使用索引,并在設(shè)計(jì)中包含它們。而不是等應(yīng)用程序編寫完成后,再讓DBA去創(chuàng)建索引,雖然有時(shí)需要根據(jù)業(yè)務(wù)的發(fā)展修改索引。要在編寫應(yīng)用程序過程中利用好索引,需要深入了解各種索引的功能和特點(diǎn)。否則如果用錯(cuò)索引,不但不能獲益,還會(huì)給應(yīng)用程序帶來不良的影響。在應(yīng)用程序投入運(yùn)行之后,監(jiān)控、管理和維護(hù)索引,對(duì)于保證應(yīng)用程序正常運(yùn)行必不可少。所以,索引的使用貫穿應(yīng)用程序的生命周期,不是用幾條簡(jiǎn)單的規(guī)則就能概括的,值得用一本書去講解。本書由資深Oracle數(shù)據(jù)庫專家編寫,專業(yè)技術(shù)出版公司Apress出版。深入淺出地介紹了Oracle各種類型索引的特點(diǎn)和實(shí)際用法,并對(duì)11g版本新增的幾種類型,如不可見索引和虛擬索引進(jìn)行了詳細(xì)講解。本書既介紹了利用索引改善查詢和進(jìn)行數(shù)據(jù)完整性約束,也提出了管理和維護(hù)索引的有用建議,最后兩章還介紹了兩種與索引有關(guān)的調(diào)優(yōu)工具,可以幫助我們正確地創(chuàng)建真正有用的索引。無論是Oracle數(shù)據(jù)庫開發(fā)人員還是DBA,都可從本書中獲益。這是我翻譯的第二本書。第一本書是《Oracle PL/SQL實(shí)戰(zhàn)》,原書也是由Apress出版的??煲g完《Oracle PL/SQL實(shí)戰(zhàn)》時(shí),我通過傅志紅副總經(jīng)理聯(lián)系到了朱巍編輯,有幸通過了試譯。在接下來4個(gè)月的時(shí)間里,完成了初譯、復(fù)查、修改等工作。首先感謝我妻子李穎,在幫我審閱了《Oracle PL/SQL實(shí)戰(zhàn)》后,又幫助我檢查本書譯文中存在的很多問題,并把它修改得更加通順。另一方面,她花了很多時(shí)間照顧我兒子的起居和學(xué)習(xí),這樣我才有時(shí)間做這項(xiàng)工作。感謝圖靈公司朱巍編輯、岳新欣編輯和李靜編輯,她們對(duì)譯文進(jìn)行了很多潤(rùn)色,使之錯(cuò)誤更少。我從她們修改的譯文中也收獲良多。最后還要感謝我兒子盧〇一,他知道我在翻譯文章就不再纏著我陪他玩,讓我能夠?qū)P姆g。本書的出版也有他的一份貢獻(xiàn)。最后希望這本書對(duì)讀者有所幫助。由于譯者經(jīng)驗(yàn)和水平有限,譯文中難免有不妥之處,懇請(qǐng)讀者批評(píng)指正!
內(nèi)容概要
正確使用Oracle數(shù)據(jù)庫的索引不僅可以實(shí)現(xiàn)良好的性能,更重要的是能夠創(chuàng)造出可伸縮的數(shù)據(jù)庫應(yīng)用程序。本書在介紹各種類型索引的過程中,始終圍繞性能這一主線,透徹分析了為Oracle數(shù)據(jù)庫創(chuàng)建和優(yōu)化索引的方方面面。
本書三位作者都是經(jīng)驗(yàn)豐富的Oracle數(shù)據(jù)庫管理員,擁有創(chuàng)建、使用和維護(hù)索引的豐富經(jīng)驗(yàn)。Darl
Kuhn是Oracle公司高級(jí)數(shù)據(jù)庫管理員,Sam R. Alapati是Cash美國(guó)國(guó)際公司高級(jí)數(shù)據(jù)庫架構(gòu)師,Bill
Padfield則是丹佛一家大型電信公司的首席DBA。三位作者在合作撰寫多本廣受贊譽(yù)的Oracle圖書之后再次聯(lián)手,在這本專門探討數(shù)據(jù)庫索引的書里,將多年的實(shí)踐經(jīng)驗(yàn)和心得體會(huì)和盤托出。讀者將在作者睿智、謹(jǐn)慎、敏銳的指引下,深入領(lǐng)會(huì)Oracle索引技術(shù)的精髓。
如果你是菜鳥,本書可助你迅速掌握Oracle索引技術(shù);如果你是資深Oracle數(shù)據(jù)庫管理員,本書可助你擺脫工作中相關(guān)問題的困擾。
作者簡(jiǎn)介
Darl Kuhn
Oracle公司高級(jí)數(shù)據(jù)庫管理員,負(fù)責(zé)數(shù)據(jù)庫管理從設(shè)計(jì)、開發(fā)到產(chǎn)品支持的各個(gè)方面。他還在美國(guó)科羅拉多的雷吉斯大學(xué)講授高級(jí)數(shù)據(jù)庫課程。另外,Darl還是落基山Oracle用戶組的DBA志愿者,擁有美國(guó)科羅拉多州立大學(xué)研究生學(xué)位。
Sam R. Alapati
Oracle ACE,經(jīng)驗(yàn)豐富的Oracle數(shù)據(jù)庫管理員(Oracle Database11g
OCP)。目前就職于得克薩斯州沃思堡的Cash美國(guó)國(guó)際公司,擔(dān)任高級(jí)數(shù)據(jù)庫架構(gòu)師和經(jīng)理。撰寫過多本數(shù)據(jù)庫管理方面的圖書,包括《Oracle
Database 11g數(shù)據(jù)庫管理藝術(shù)》、《Oracle Database
11g性能優(yōu)化攻略》,均已由人民郵電出版社翻譯出版。
Bill Padfield
Oracle認(rèn)證專家,具有近30年的IT行業(yè)從業(yè)經(jīng)驗(yàn),14年以上的Oracle數(shù)據(jù)庫管理經(jīng)驗(yàn)。目前他在科羅拉多州丹佛市的一家大型電信公司擔(dān)任首席數(shù)據(jù)庫管理員,協(xié)助控制和管理由75個(gè)數(shù)據(jù)庫系統(tǒng)組成的大型數(shù)據(jù)倉庫環(huán)境。同時(shí),Bill也任教于雷吉斯大學(xué),給研究生講授數(shù)據(jù)庫課程。
書籍目錄
第1章 Oracle 索引
1.1 用索引提高性能
1.2 確定使用哪種類型的索引
1.2.1 B樹索引
1.2.2 特定的索引類型
1.3 確定需要建立索引的列
1.3.1 主鍵列和唯一鍵列的索引
1.3.2 外鍵列的索引
1.3.3 其他適合創(chuàng)建索引的列
1.4 索引指南
1.5 小結(jié)
第2章 B樹索引
2.1 Oracle如何使用B樹索引
2.1.1 場(chǎng)景一:所有的數(shù)據(jù)位于索引塊
2.1.2 場(chǎng)景二:索引中不包含所有信息
2.1.3?場(chǎng)景三:只有表塊被訪問
2.2 準(zhǔn)備創(chuàng)建B樹索引
2.2.1 在創(chuàng)建前估計(jì)索引的大小
2.2.2 為索引創(chuàng)建單獨(dú)的表空間
2.2.3 從表空間繼承存儲(chǔ)參數(shù)
2.2.4 命名標(biāo)準(zhǔn)
2.3 實(shí)現(xiàn)B樹索引
2.3.1 創(chuàng)建B樹索引
2.3.2 報(bào)告索引
2.3.3 顯示創(chuàng)建索引的代碼
2.3.4 刪除B樹索引
2.4 管理帶約束的B樹索引
2.4.1 在主鍵列上創(chuàng)建B樹索引
2.4.2 在唯一鍵列上創(chuàng)建B樹索引
2.4.3 索引外鍵列
2.5 小結(jié)
第3章 位圖索引
3.1 位圖索引
3.2 創(chuàng)建位圖索引
3.3 創(chuàng)建分區(qū)的位圖索引
3.4 在索引組織表上創(chuàng)建位圖索引
3.5 位圖索引對(duì)查詢性能的影響
3.6 位圖索引對(duì)數(shù)據(jù)載入性能的影響
3.7 了解位圖連接索引
3.8 創(chuàng)建位圖連接索引
3.9 報(bào)告位圖索引
3.10 小結(jié)
第4章 索引組織表
4.1 索引組織表的結(jié)構(gòu)
4.2 索引組織表的優(yōu)勢(shì)
4.3 創(chuàng)建索引組織表
4.4 添加溢出段
4.5 壓縮索引組織表
4.6 構(gòu)建二級(jí)索引
4.7 重建索引組織表
4.8 索引組織表報(bào)告
4.9 小結(jié)
第5章 專門索引
5.1 不可見索引
5.1.1 不可見索引的用途
5.1.2 創(chuàng)建不可見索引
5.1.3 在數(shù)據(jù)庫中查找不可見索引
5.1.4 讓優(yōu)化器使用不可見索引
5.1.5 維護(hù)不可見索引
5.2 基于函數(shù)的索引
5.2.1 創(chuàng)建基于函數(shù)的索引
5.2.2 基于函數(shù)的索引的限制
5.2.3 收集基于函數(shù)的索引的統(tǒng)計(jì)信息
5.3 虛擬列上的索引
5.4 鍵壓縮索引
5.4.1 鍵壓縮的用途
5.4.2 創(chuàng)建壓縮索引
5.4.3 鍵壓縮和存儲(chǔ)
5.5 復(fù)合索引
5.5.1 了解索引跳躍式掃描和復(fù)合索引
5.5.2 在復(fù)合索引中對(duì)列進(jìn)行排列
5.5.3 為復(fù)合索引選擇鍵
5.6 創(chuàng)建虛擬索引
5.7 反向鍵索引
5.7.1 反向鍵索引的缺點(diǎn)
5.7.2 反向鍵索引的用途
5.7.3 創(chuàng)建反向鍵索引
5.8 應(yīng)用程序域索引
5.9 小結(jié)
第6章 分區(qū)索引
6.1 分區(qū)索引
6.2 創(chuàng)建本地分區(qū)索引
6.2.1 最簡(jiǎn)單的形式
6.2.2 分區(qū)級(jí)的需求
6.2.3 前綴和非前綴選項(xiàng)
6.3 管理主鍵和唯一索引
6.4 創(chuàng)建全局分區(qū)索引
6.5 為應(yīng)用程序選擇索引
6.6 維護(hù)分區(qū)表的索引
6.6.1 添加分區(qū)
6.6.2 截?cái)喾謪^(qū)
6.6.3 移動(dòng)分區(qū)
6.6.4 拆分分區(qū)
6.6.5 交換分區(qū)
6.6.6 刪除分區(qū)
6.6.7 合并分區(qū)
6.7 重建全局分區(qū)索引和非分區(qū)索引
6.8 把索引分區(qū)設(shè)置為不可用后重建
6.9 索引對(duì)間隔分區(qū)的影響
6.10 使舊的數(shù)據(jù)只讀
6.11 報(bào)告分區(qū)索引
6.12 小結(jié)
第7章 索引使用調(diào)優(yōu)
7.1 優(yōu)化器訪問路徑
7.2 索引掃描
7.2.1 索引唯一掃描
7.2.2 索引范圍掃描
7.2.3 索引跳躍式掃描
7.2.4 全索引掃描
7.2.5 索引快速全掃描
7.3 確定查詢是否使用了索引
7.4 避免使用索引
7.4.1 在任何情況下都不使用某個(gè)索引
7.4.2 只避免快速掃描
7.4.3 強(qiáng)制表掃描
7.5 在索引和表掃描之間選擇
7.6 優(yōu)化器忽略索引的原因
7.6.1 不同的行數(shù)
7.6.2 索引聚簇因子
7.7 索引訪問路徑因沒有新的統(tǒng)計(jì)信息而改變
7.7.1 使用不等條件
7.7.2 使用通配符查詢
7.7.3 在謂詞中引用空值
7.7.4 在查詢中包含函數(shù)
7.7.5 跳過索引的前導(dǎo)部分
7.8 強(qiáng)制優(yōu)化器使用索引
7.8.1 應(yīng)用INDEX提示
7.8.2 應(yīng)用相關(guān)的提示
7.8.3 對(duì)失敗的索引提示進(jìn)行診斷
7.8.4 調(diào)整optimizer_index_cost_adj參數(shù)
7.8.5 為索引收集準(zhǔn)確的統(tǒng)計(jì)信息
7.9 并行化索引訪問
7.10 小結(jié)
第8章 維護(hù)索引
8.1 收集索引統(tǒng)計(jì)信息
8.1.1 DBMS_STATS包
8.1.2 METHOD_OPT參數(shù)
8.2 處理不可用索引
8.2.1 使索引不可用
8.2.2 指定SKIP_UNUSABLE_INDEXES參數(shù)
8.3 管理索引使用的空間
8.3.1 重建索引以減少碎片
8.3.2 重建反向鍵索引
8.3.3 回收未使用的空間
8.3.4 重建分區(qū)索引
8.3.5 頻繁重建索引
8.4 INDEX_STATS視圖在重建索引時(shí)的作用
8.4.1 INDEX_STATS視圖的優(yōu)點(diǎn)
8.4.2 INDEX_STATS視圖的問題
8.5 關(guān)于重建索引的爭(zhēng)論
8.5.1 重建索引的理由
8.5.2 反對(duì)重建的理由
8.5.3 關(guān)于重建索引的建議
8.6 合并索引來減少碎片
8.7 收縮索引以減少碎片
8.8 移動(dòng)表和索引
8.9 提高創(chuàng)建索引的效率
8.9.1 并行創(chuàng)建索引
8.9.2 避免在索引創(chuàng)建期間生成重做
8.9.3 使用較大的塊
8.9.4 壓縮索引
8.9.5 同時(shí)使用多個(gè)選項(xiàng)
8.10 生成DDL從而創(chuàng)建索引
8.10.1 使用DBMS_METADATA包
8.10.2 使用SESSION_TRANSFORM存儲(chǔ)過程
8.10.3 使用SET_FILTER存儲(chǔ)過程
8.10.4 使用數(shù)據(jù)泵
8.11 刪除索引
8.12 小結(jié)
第9章 SQL調(diào)優(yōu)顧問
9.1 工具之間的聯(lián)系
9.2 自動(dòng)SQL調(diào)優(yōu)作業(yè)
9.2.1 驗(yàn)證自動(dòng)作業(yè)在運(yùn)行
9.2.2 查看自動(dòng)SQL調(diào)優(yōu)作業(yè)中的建議
9.2.3 生成SQL腳本來實(shí)施自動(dòng)調(diào)優(yōu)建議
9.2.4 禁用和啟用自動(dòng)SQL調(diào)優(yōu)
9.3 管理SQL調(diào)優(yōu)集
9.3.1 在AWR中查看占用大量資源的SQL
9.3.2 查看內(nèi)存中使用大量資源的SQL
9.3.3 用AWR中占用大量資源的SQL填充SQL調(diào)優(yōu)集
9.3.4 用內(nèi)存中占用大量資源的SQL填充SQL調(diào)優(yōu)集
9.3.5 用內(nèi)存中所有的SQL來填充SQL調(diào)優(yōu)集
9.3.6 顯示SQL調(diào)優(yōu)集的內(nèi)容
9.3.7 選擇性刪除SQL調(diào)優(yōu)集中的語句
9.3.8 將語句添加到現(xiàn)有的SQL調(diào)優(yōu)集
9.3.9 刪除SQL調(diào)優(yōu)集
9.4 運(yùn)行SQL調(diào)優(yōu)顧問
9.4.1 創(chuàng)建調(diào)優(yōu)任務(wù)
9.4.2 執(zhí)行DBMS_SQLTUNE并查看建議
9.4.3 查看和刪除調(diào)優(yōu)任務(wù)
9.4.4 從SQL Developer中運(yùn)行SQL調(diào)優(yōu)顧問
9.4.5 從企業(yè)管理器運(yùn)行SQL調(diào)優(yōu)顧問
9.5 小結(jié)
第10章 SQL訪問顧問
10.1 為單個(gè)SQL語句生成的建議
10.2 獲得一組SQL語句的建議
10.3 查詢顧問視圖
10.4 小結(jié)
媒體關(guān)注與評(píng)論
“本書介紹各個(gè)主題的方式非常獨(dú)到,可幫助新手快速入門。有經(jīng)驗(yàn)的數(shù)據(jù)庫管理員也可以溫故知新。”——讀者評(píng)論
編輯推薦
經(jīng)驗(yàn)豐富的Oracle專家權(quán)威力作全面、詳盡、貼近實(shí)戰(zhàn)Oracle DBA和開發(fā)人員必備
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載