注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫OracleOracle高性能SQL調(diào)整

Oracle高性能SQL調(diào)整

Oracle高性能SQL調(diào)整

定 價(jià):¥43.00

作 者: (美)Donald K.Burleson著;劉硯,黃春等譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): Oracle技術(shù)系列叢書
標(biāo) 簽: Oracle

購(gòu)買這本書可以去


ISBN: 9787111097556 出版時(shí)間: 2002-01-01 包裝: 簡(jiǎn)裝
開本: 24cm 頁數(shù): 397頁 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書由Oracle公司授權(quán),向讀者詳盡闡述如何調(diào)整SQL語句、查看內(nèi)部執(zhí)行計(jì)劃和更改執(zhí)行計(jì)劃以提高語句性能。主要內(nèi)容包括:理解SQL調(diào)整在Oracle總體微調(diào)中的地位,使用語如內(nèi)嵌視圖和BIF擴(kuò)展提高QraleSQL性能,確定并報(bào)告程序庫緩存中的SQL語句,調(diào)整SQL表訪問、完整表掃描和平行查詢,運(yùn)行TKPROF獲得SQL跟蹤報(bào)告,使用Oracle線索為OracleSQL語句更改執(zhí)行計(jì)劃,使用Oracle8i優(yōu)化器計(jì)劃穩(wěn)定性、基于成本的優(yōu)化器和基于規(guī)則的優(yōu)化器,調(diào)整SQLDML語句、SQK子查詢和數(shù)據(jù)倉(cāng)庫SQL,調(diào)整帶有臨時(shí)表和索引的SQL語句,使用STATSPACK診斷和優(yōu)化系統(tǒng)性能。本書內(nèi)容豐富、分析透徹,可供Oracle數(shù)據(jù)庫管理員、技術(shù)開發(fā)人員參考。

作者簡(jiǎn)介

暫缺《Oracle高性能SQL調(diào)整》作者簡(jiǎn)介

圖書目錄

前言
第一部分 背景知識(shí)
第1章 SQL簡(jiǎn)介
1.1 SQL的基本特征
1.2 SQL起源
1.2.1 SQL模型
1.2.2 select操作
1.2.3 project操作
1.2.4 join操作
1.3 SQL優(yōu)化器
1.4 SQL調(diào)整的目標(biāo)
1.5 作為Oracle調(diào)整步驟之一的SQL調(diào)整
1.6 SQL調(diào)整的障礙
1.7 SQL調(diào)整過程
1.7.1 定位使用頻繁的SQL語句
1.7.2 調(diào)整SQL語句
1.7.3 調(diào)整持久化
1.8 SQL調(diào)整的目標(biāo)
1.9 SQL調(diào)整工具箱
1.10 結(jié)論
第2章 OracleSQL擴(kuò)展簡(jiǎn)介
2.1 Oracle內(nèi)部視圖
2.2 Oracle內(nèi)置函數(shù)
2.3 Oracle和面向?qū)ο髷U(kuò)展
2.4 挑戰(zhàn)關(guān)系原則--重復(fù)數(shù)據(jù)項(xiàng)列表
2.4.1 varray表
2.4.2 表嵌套
2.4.3 SQL對(duì)象擴(kuò)展的性能
2.5 結(jié)論
第3章 理解SQL執(zhí)行
3.1 解析SQL語句
3.1.1 重新書寫查詢
3.1.2 在Oracle8i和Oracle9i中使用cursor_sharing
3.1.3 減少SQL解析的技術(shù)
3.2 生成執(zhí)行計(jì)劃
3.2.1 表訪問方式
3.2.2 索引訪問方式
3.2.3 連接操作
3.3 對(duì)SQL結(jié)果集進(jìn)行排序
3.4 結(jié)論
第4章 SQL優(yōu)化器簡(jiǎn)介
4.1 基本的優(yōu)化器技術(shù)
4.1.1 基于規(guī)則的優(yōu)化器
4.1.2 基于成本的優(yōu)化器
4.2 優(yōu)化器模式
4.2.1 rule模式
4.2.2 choose模式
4.2.3 first_rows模式
4.2.4 all_rows模式
4.2.5 更快的執(zhí)行速度與最小的資源消耗
4.3 基于規(guī)則優(yōu)化的調(diào)整
4.3.1 更改基于規(guī)則的驅(qū)動(dòng)表
4.3.2 如果基于規(guī)則的優(yōu)化器沒有使用正確的索引
4.4 基于成本優(yōu)化的調(diào)整
4.4.1 調(diào)用基于成本的優(yōu)化器
4.4.2 為CBO收集統(tǒng)計(jì)資料
4.5 決定默認(rèn)優(yōu)化器模式
4.6 遷移到基于成本的優(yōu)化器
4.6.1 對(duì)開發(fā)人員進(jìn)行重新培訓(xùn)
4.6.2 選擇基于成本的優(yōu)化器的思想
4.7 結(jié)論
第5章 SQL內(nèi)部處理
5.1 共享SQL區(qū)域和專用SQL區(qū)域
5.2 SQL的SGA統(tǒng)計(jì)資料
5.3 程序庫緩存的內(nèi)部情況
5.3.1 程序庫緩存中可以多次使用的SQL
5.3.2 監(jiān)控程序庫緩存不足率
5.3.3 使用STATSPACK監(jiān)控程序庫緩存中的對(duì)象
5.3.4 程序庫緩存的STATSPACK報(bào)告
5.4 調(diào)整OracleSQL排序
5.5 確定程序庫緩存中具有高影響力的SQL語句
5.6 關(guān)于程序庫緩存中SQL的報(bào)告
5.6.1 使用帶有STATSPACK的access.sql腳本
5.6.2 access.sql報(bào)告
5.6.3 全表掃描報(bào)告
5.6.4 索引范圍掃描報(bào)告
5.6.5 索引惟一性掃描報(bào)告
5.6.6 完全索引掃描報(bào)告
5.6.7 access.sql報(bào)告的局限性
5.7 結(jié)論
第6章 調(diào)整SQL表訪問
6.1 SQL調(diào)整和全表掃描
6.1.1 決定全表掃描的閩值
6.1.2 查找全表掃描
6.1.3 優(yōu)化器如何選擇全表掃描
6.1.4 當(dāng)CBO選擇了錯(cuò)誤的全表掃描
6.1.5 預(yù)防不必要的全表掃描
6.2 借助于索引的表訪問
6.3 更改表訪問方式
6.3.1 將索引由惟一索引更改為非惟一索引
6.3.2 重新書寫SQL語句以更改表訪問方法
6.4 重新排序表記錄以減少輸入輸出
6.4.1 使用索引簇重新排序記錄
6.4.2 使用CTAS重新排序記錄
6.5 Oracle存儲(chǔ)參數(shù)和表訪問性能
6.5.1 pctfree存儲(chǔ)參數(shù)
6.5.2 pctused存儲(chǔ)參數(shù)
6.5.3 freelists存儲(chǔ)參數(shù)
6.5.4 OPS的freelistgroups存儲(chǔ)參數(shù)
6.5.5 存儲(chǔ)參數(shù)規(guī)則總結(jié)
6.6 空閑列表管理和表訪問性能
6.6.1 空閑列表的鏈接和取消鏈接
6.6.2 減少空閑列表的重新錠接
6.7 結(jié)論
第二部分 SQL調(diào)整基礎(chǔ)
第7章 OracleSQL調(diào)整的過程
7.1 SQL調(diào)整的目標(biāo)
7.2 SQL調(diào)整步驟
7.3 第一步:確定具有高影響力的SQL語句
7.3.1 SQL語句分級(jí)
7.3.2 確定使用頻繁的SQL語句
7.3.3 使用STATSPACK指定具有高影響力的SQL
7.3.4 來自程序庫緩存的SQL報(bào)告
7.3.5 使用第三方工具定位有問題的SQL
7.4 第二步:抽取和解釋SQL語句
7.5 第三步:調(diào)整SQL語句
7.6 SQL調(diào)整實(shí)例
7.7 使用第三方工具快速進(jìn)行SQL調(diào)整
7.8 結(jié)論
第8章 理解OracleSQL工具
8.1 解釋SQL語句
8.2 運(yùn)行快速SQL跟蹤
8.3 TKPROF工具
8.3.1 為SQL跟蹤設(shè)置環(huán)境
8.3.2 生成SQL跟蹤文件
8.3.3 格式化跟蹤文件
8.3.4 TKPRCOF報(bào)告
8.4 Oracle專家中心SQL分析報(bào)告
8.5 有關(guān)程序庫緩存中所有SQL的報(bào)告
8.5.1 使用帶有STATSPACK的access.sql腳本
8.5.2 access.sql報(bào)告
8.6 結(jié)論
第9章 定位重要的SQL語句
9.1 建立實(shí)例范圍的SQL基線
9.1.1 設(shè)置默認(rèn)的Optinizer_Mode
9.1.2 默認(rèn)優(yōu)化器模式持久化
9.1.3 提高全表掃描速度的實(shí)例范圍參數(shù)
9.1.4 其他影響SQL執(zhí)行的初始化參數(shù)
9.1.5 運(yùn)行SQL基線測(cè)試
9.2 什么是重要的SQL語句
9.3 抽取需要調(diào)整的重要SQL語句的技術(shù)
9.3.1 指定高頻使用的SQL語句
9.3.2 抽取SQL語句的腳本
9.4 SQL語句分級(jí)
9.4.1 查找不包含提示的新SQL語句
9.4.2 當(dāng)使用優(yōu)化器計(jì)劃穩(wěn)定性時(shí)查找新SQL語句
9.5 結(jié)論
第10章 調(diào)整全表掃描和并行查詢
10.1 評(píng)估全表掃描的合法性
10.2 查找要進(jìn)行Oracle并行查詢的表
10.3 Oracle并行查詢簡(jiǎn)介
10.3.1 調(diào)用Oracle并行查詢
10.3.2 Oracle并行查詢初始化參數(shù)
10.3.3 設(shè)置最優(yōu)化的并行度
10.3.4 使用并行查詢提示
10.3.5 并行查詢和表連接
10.4 監(jiān)控Oracle并行查詢的使用
10.4.1 監(jiān)控并行執(zhí)行活動(dòng)
10.4.2 使用STATSPACK監(jiān)控Oracle并行查詢
10.4.3 使用V$視圖監(jiān)控Oracle并行查詢
10.4.4 并行查詢和分布表
10.5 結(jié)論
第11章 優(yōu)化OracleSQL語句排序
11.1 有關(guān)Oracle排序的初始化參數(shù)
11.1.1 sort_area_size參數(shù)
11.1.2 sort_area_retained_size參數(shù)
11.1.3 sort_multiblock_read_count參數(shù)
11.1.4 已廢棄的Oracle8排序參數(shù)
11.1.5 優(yōu)化器模式和排序活動(dòng)
11.2 通過添加索引避免排序
11.3 不必要的排序
11.4 監(jiān)控排序活動(dòng)
11.5 結(jié)論
第12章 使用Oracle提示進(jìn)行調(diào)整
12.1 提示簡(jiǎn)介和歷史
12.2 在SQL查詢中指定提示
12.3 優(yōu)化器提示
12.3.1 all_rows提示
12.3.2 rule提示
12.3.3 first_rows提示
12.4 表連接提示
12.4.1 use_hash提示
12.4.2 use_merge提示
12.4.3 use_nl提示
12.4.4 star提示
12.5 表反連接提示
12.5.1 merge_aj提示
12.5.2 hash_aj提示
12.6 Index提示
12.6.1 Index提示簡(jiǎn)介
12.6.2 index_join提示
12.6.3 and_equal提示
12.6.4 index_asc提示
12.6.5 no_index提示
12.6.6 index_desc提示
12.6.7 index_combine提示
12.6.8 index_ffs提示
12.6.9 use_concat提示
12.7 Parallel提示
12.7.1 parallel提示簡(jiǎn)介
12.7.2 pq_distribute提示
12.7.3 noparallel提示
12.8 表訪問提示
12.8.1 full提示
12.8.2 簇表提示
12.8.3 no_expand提示
12.8.4 nocache提示
12.8.5 ordered提示
12.8.6 ordered_predicates提示
12.8.7 push_subq提示
12.9 子查詢中的提示
12.10 結(jié)論
第13章 使用優(yōu)化器計(jì)劃穩(wěn)定性進(jìn)行調(diào)整
13.1 存儲(chǔ)框架簡(jiǎn)介
13.1.1 優(yōu)化器計(jì)劃穩(wěn)定性背后的思想
13.1.2 在向CBO遷移時(shí)使用優(yōu)化器計(jì)劃穩(wěn)定性
13.2 使用存儲(chǔ)框架要做的準(zhǔn)備
13.2.1 設(shè)置use_stored_outlines命令
13.2.2 檢查重要的初始化參數(shù)
13.2.3 創(chuàng)建框架包
13.2.4 創(chuàng)建存儲(chǔ)框架表空間
13.3 如何創(chuàng)建和修改存儲(chǔ)框架
13.3.1 確定最快的執(zhí)行計(jì)劃
13.3.2 為最初的查詢創(chuàng)建存儲(chǔ)框架
13.3.3 為帶有提示的查詢創(chuàng)建存儲(chǔ)框架
13.3.4 交換存儲(chǔ)框架
13.4 管理存儲(chǔ)框架
13.4.1 為存儲(chǔ)框架使用字典視圖和表
13.4.2 使用框架包
13.4.3 管理存儲(chǔ)框架的分類
13.5 結(jié)論
第14章 基于成本優(yōu)化器的調(diào)整
14.1 統(tǒng)計(jì)資料和基于成本的優(yōu)化
14.1.1 動(dòng)態(tài)和靜態(tài)CBO執(zhí)行計(jì)劃思想
14.1.2 收集統(tǒng)計(jì)資料的頻率
14.1.3 為CBO收集統(tǒng)計(jì)資料
14.2 基于成本優(yōu)化和SQL調(diào)整
14.2.1 基于成本的表連接
14.2.2 調(diào)整帶有子查詢的基于成本的SQL語句
14.2.3 調(diào)整復(fù)雜的布爾查詢
14.3 影響基于成本優(yōu)化器行為的初始化參數(shù)
14.3.1 影響表連接的初始化參數(shù)
14.3.2 影響CBO索引行為的初始化參數(shù)
14.4 結(jié)論
第15章 基于規(guī)則優(yōu)化器的調(diào)整
15.1 調(diào)用基于規(guī)則的優(yōu)化
15.2 使用choose作為默認(rèn)優(yōu)化模式時(shí)存在的問題
15.3 使用基于規(guī)則的默認(rèn)優(yōu)化器模式
15.3.1 驅(qū)動(dòng)表位置問題
15.3.2 驅(qū)動(dòng)表和表基數(shù)
15.3.3 有關(guān)調(diào)整基于規(guī)則查詢的提示
15.4 基于規(guī)則的優(yōu)化器無效的情況
15.5 基于規(guī)則的優(yōu)化器是最佳選擇的情況
15.6 結(jié)論
第16章 調(diào)整表連接
16.1 表連接類型
16.1.1 等連接
16.1.2 外部連接
16.1.3 自連接
16.1.4 反連接
16.1.5 半連接
16.2 Oracle表連接方法
16.2.1 嵌套循環(huán)連接
16.2.2 use_nl提示
16.2.3 散列連接
16.2.4 排序合并連接
16.2.5 星型連接
16.3 評(píng)估表連接順序
16.4 調(diào)整分布式SQL表連接
16.4.1 總是為分布式連接使用CBO
16.4.2 察看分布式連接的執(zhí)行計(jì)劃
16.4.3 分布式連接調(diào)整方針
16.5 結(jié)論
第三部分 SQL高級(jí)調(diào)整
第17章 調(diào)整SQL的DML語句
17.1 Oracle存儲(chǔ)參數(shù)和DML性能
17.1.1 pctfree存儲(chǔ)參數(shù)
17.1.2 pctused存儲(chǔ)參數(shù)
17.1.3 freelists參數(shù)和DML性能
17.1.4 OPS的freelist組存儲(chǔ)參數(shù)
17.1.5 存儲(chǔ)參數(shù)規(guī)則的小結(jié)
17.2 空閑列表管理和DML性能
17.2.1 鏈接到空閑列表和從空閑列表斷開鏈接
17.2.2 減少空閑列表重新鏈接操作
17.3 長(zhǎng)數(shù)據(jù)列和DML行為
17.4 根據(jù)平均記錄長(zhǎng)度來設(shè)置pctfree和pctused參數(shù)
17.5 緩沖區(qū)忙等待以及DML沖突
17.5.1 利用STATSPACK發(fā)現(xiàn)DML等待沖突
17.5.2 用STATSPACK確定緩沖區(qū)忙等待
17.6 SQLupdate語句、子查詢和并行DML
17.7 DML執(zhí)行時(shí)約束的開銷
17.8 用DML維持索引所需的開銷
17.9 使用PL/SQL批量插入來提高SQL插入數(shù)據(jù)的速度
17.10 結(jié)論
第18章 用臨時(shí)表調(diào)整SQL
18.1 與字典視圖一起使用CTAS
18.2 結(jié)論
第19章 SQL子查詢的調(diào)整
19.1 Oracle子查詢的基本知識(shí)
19.2 關(guān)聯(lián)與非關(guān)聯(lián)于查詢
19.2.1 數(shù)據(jù)量規(guī)模和子查詢的問題
19.2.2 子查詢的執(zhí)行時(shí)間
19.2.3 子查詢執(zhí)行的基本特征
19.3 子查詢的自動(dòng)SQL轉(zhuǎn)換
19.4 調(diào)整具有IN和EXISTS子句的子查詢
19.4.1 使用研子句的非關(guān)聯(lián)子查詢
19.4.2 帶有IN子句的關(guān)聯(lián)子查詢
19.4.3 帶有EXISTS子句的非關(guān)聯(lián)子查詢
19.4.4 使用EXISTS子句的關(guān)聯(lián)子查詢
19.5 調(diào)整帶有NOTIN和NOTEXISTS子句的子查詢
19.5.1 使用NOTIN運(yùn)算符的非關(guān)聯(lián)子查詢
19.5.2 帶有NOT IN運(yùn)算符的關(guān)聯(lián)子查詢
19.5.3 帶有NOTEXISTS運(yùn)算符的關(guān)聯(lián)子查詢
19.5.4 使用NOTEXISTS運(yùn)算符的非關(guān)聯(lián)子查詢
19.6 調(diào)整帶有不相等條件的子查詢
19.6.1 在于查詢中使用ALL和ANY子句
19.6.2 在于查詢中使用不相等條件
19.7 用提示來提高于查詢的執(zhí)行速度
19.8 結(jié)論
第20章 用索引調(diào)整SQL
20.1 把握進(jìn)行索引的時(shí)機(jī)
20.1.1 提取SQL語句
20.1.2 添加索引
20.1.3 衡量全表掃描的合法性
20.1.4 衡量帶有新索引的查詢的執(zhí)行時(shí)間
20.1.5 預(yù)測(cè)整個(gè)數(shù)據(jù)庫的受益情況
20.2 通過添加索引來消除排序
20.3 不必要的排序
20.4 索引謂詞
20.5 B樹索引中可供選擇的索引
20.5.1 位圖索引
20.5.2 基于函數(shù)的索引
20.5.3 反主鍵索引與SQL性能
20.6 帶有研條件的查詢的索引用法
20.7 結(jié)論
第21章 數(shù)據(jù)倉(cāng)庫的SQL調(diào)整
21.1 大型數(shù)據(jù)表連接調(diào)整
21.1.1 ordered提示
21.1.2 order_predicates提示
21.2 Oracle分區(qū)與OracleSQL調(diào)整
21.2.1 分區(qū)和SQL數(shù)據(jù)表連接
21.2.2 分區(qū)與SQL執(zhí)行速度
21.3 Oracle的并行查詢和OracleSQL調(diào)整
21.3.1 并行查詢的int.ora參數(shù)
21.3.2 設(shè)置最優(yōu)的并行度
21.3.3 使用并行查詢提示
21.4 數(shù)據(jù)倉(cāng)庫查詢的Oracle優(yōu)化
21.4.1 optimizer_search_limit參數(shù)
21.4.2 optimizer_max_permutations參數(shù)
21.5 結(jié)論
第22章 用STATSPACK進(jìn)行SQL調(diào)整
22.1 STATSPACK和SQL數(shù)據(jù)收集
22.2 用STATSPACK對(duì)Oracle排序進(jìn)行調(diào)整
22.3 STATSPACK跟蹤SQL
22.3.1 SQL快照閾值
22.3.2 STATSPACK前10位報(bào)表
22.4 結(jié)論
第23章 調(diào)整使用內(nèi)置函數(shù)和特殊運(yùn)算符的SQL語句
23.1 在SQL中使用like和case子句
23.1.1 在Oracle查詢中使用like子句
23.1.2 用case語句合并多重掃描
23.2 調(diào)整帶有BIF的SQL語句
23.2.1 BIF與字符數(shù)據(jù)類型一起使用
23.2.2 BIF與日期數(shù)據(jù)類型一起使用
23.2.3 使用substrBIF
23.2.4 Oracle9i中對(duì)BIF的改進(jìn)
23.3 結(jié)論
23.4 本書的總結(jié)

本目錄推薦

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