注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數據庫OracleOracle高性能SQL調整

Oracle高性能SQL調整

Oracle高性能SQL調整

定 價:¥43.00

作 者: (美)Donald K.Burleson著;劉硯,黃春等譯
出版社: 機械工業(yè)出版社
叢編項: Oracle技術系列叢書
標 簽: Oracle

購買這本書可以去


ISBN: 9787111097556 出版時間: 2002-01-01 包裝: 簡裝
開本: 24cm 頁數: 397頁 字數:  

內容簡介

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

作者簡介

暫缺《Oracle高性能SQL調整》作者簡介

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號