注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計程序設計綜合Oracle SQL高級編程

Oracle SQL高級編程

Oracle SQL高級編程

定 價:¥89.00

作 者: (美) Karen Morton Kerry Osborne Robyn Sands 著,朱浩波 譯
出版社: 人民郵電出版社
叢編項:
標 簽: SQL

ISBN: 9787115266149 出版時間: 2011-11-01 包裝: 平裝
開本: 16開 頁數(shù): 502 字數(shù):  

內(nèi)容簡介

  Oracle數(shù)據(jù)庫中的SQL是當今市場上功能最強大的SQL實現(xiàn)之一,而本書全面展示了這一工具的威力。如何才能讓更多人有效地學習和掌握SQL呢?KarenMorton及其團隊在本書中提供了專業(yè)的方案:先掌握語言特性,再學習Oracle為提升語言效率而加入的支持特性,進而將兩者綜合考慮并在工作中加以應用。作者通過總結各自多年的軟件開發(fā)和教學培訓經(jīng)驗,與大家分享了掌握OracleSQL所獨有的豐富功能的技巧所在,內(nèi)容涵蓋SQL執(zhí)行、聯(lián)結、集合、分析函數(shù)、子句、事務處理等多個方面。讀者可以學習到以下幾個方面的技巧:n 掌握Oracle數(shù)據(jù)庫中獨有的SQL強大特征;n讀取并理解SQL執(zhí)行計劃;n快速分析并改進表現(xiàn)欠佳的SQL;n 通過提示及配置文件等來控制執(zhí)行計劃;n在程序中優(yōu)化查詢而無需改動代碼。作為OracleSQL經(jīng)典著作之一,本書為SQL開發(fā)人員指明了前行的方向,賦予了他們不斷開拓的動力。

作者簡介

  作者:莫頓(Karen Morton) (美國)Kerry Osborne (美國)Robyn Sands 等 譯者:朱浩波 莫頓,Karen Morton,研究人員、教育家及顧問,F(xiàn)idelity信息服務公司的資深數(shù)據(jù)庫管理員和性能調(diào)優(yōu)專家。她從20世紀90年代初就開始使用Oracle,從事 Oracle的教學工作也已經(jīng)超過10年的時間。她是Oracle ACE,也是OakTable(Oracle社區(qū)中著名的“Oracle科學家”的非正式組織)的成員,經(jīng)常在技術會議上演講。她的著作還包括 Expert Oracle Practices和Beginning Oracle SQL。 Kerry Osborne,專注于Oracle咨詢的Enkitec公司的創(chuàng)始人之一。從1982年開始使用Oracle(第2版)。他當過開發(fā)人員,也做過DBA,目前是 Oracle ACE總監(jiān)和OakTable成員。最近幾年,他專注于研究Oracle內(nèi)部原理以及解決性能問題。 Robyn Sands,思科公司的軟件工程師,為思科的客戶設計開發(fā)嵌入式Oracle數(shù)據(jù)庫產(chǎn)品。從1996年開始使用Oracle,在應用開發(fā)、大型系統(tǒng)實現(xiàn)以及性能評估方面具有豐富的經(jīng)驗。她是OakTable的成員,同時是Expert Oracle Practices (2010年 Apress出版)一書的合著者。 RIYAJ SHAMSUDEEN 專注于性能/數(shù)據(jù)恢復/電子商務的咨詢公司OraInternals的首席數(shù)據(jù)庫管理員和董事長。有近20年使用Oracle技術產(chǎn)品以及Oracle數(shù)據(jù)庫管理員/Oracle數(shù)據(jù)庫應用管理員的經(jīng)驗,是真正應用集群、性能調(diào)優(yōu)以及數(shù)據(jù)庫內(nèi)部屬性方面的專家。同時是一位演講家及Oracle ACE。 JARED STILL,從1994年就開始使用Oracle。他認為對于SQL的學習是永無止境的,相信每一個查詢Oracle數(shù)據(jù)庫的人都需要精通SQL語言,才能寫出高效的查詢。他參與本書的編寫就是為了幫助別人實現(xiàn)這一目標。

圖書目錄

第1 章  SQL 核心  1
1.1  SQL 語言  1
1.2  數(shù)據(jù)庫的接口  2
1.3  SQL*Plus 回顧  3
1.3.1  連接到數(shù)據(jù)庫  3
1.3.2  配置SQL*Plus 環(huán)境  4
1.3.3  執(zhí)行命令  6
1.4 5  個核心的SQL 語句  8
1.5  SELECT 語句  8
1.5.1  FROM 子句  9
1.5.2  WHERE 子句  11
1.5.3  GROUP BY 子句  11
1.5.4  HAVING 子句  12
1.5.5  SELECT 列表  12
1.5.6  ORDER BY 子句  13
1.6  INSERT 語句  14
1.6.1  單表插入  14
1.6.2  多表插入  15
1.7  UPDATE 語句  17
1.8  DELETE 語句  20
1.9  MERGE 語句  22
1.10  小結  24
第2 章  SQL 執(zhí)行  25
2.1  Oracle 架構基礎  25
2.2  SGA-共享池  27
2.3  庫高速緩存  28
2.4  完全相同的語句  29
2.5  SGA-緩沖區(qū)緩存  32
2.6  查詢轉(zhuǎn)換  35
2.7  視圖合并  36
2.8  子查詢解嵌套  39
2.9  謂語前推  42
2.10  使用物化視圖進行查詢重寫  44
2.11  確定執(zhí)行計劃  46
2.12  執(zhí)行計劃并取得數(shù)據(jù)行  50
2.13  SQL 執(zhí)行——總覽  52
2.14  小結  53
第3 章  訪問和聯(lián)結方法  55
3.1  全掃描訪問方法  55
3.1.1  如何選擇全掃描操作  56
3.1.2  全掃描與舍棄  59
3.1.3  全掃描與多塊讀取  60
3.1.4  全掃描與高水位線  60
3.2  索引掃描訪問方法  65
3.2.1  索引結構  66
3.2.2  索引掃描類型  68
3.2.3  索引唯一掃描  71
3.2.4  索引范圍掃描  72
3.2.5  索引全掃描  74
3.2.6  索引跳躍掃描  77
3.2.7  索引快速全掃描  79
3.3  聯(lián)結方法  80
3.3.1  嵌套循環(huán)聯(lián)結  81
3.3.2  排序—合并聯(lián)結  83
3.3.3  散列聯(lián)結  84
3.3.4  笛卡兒聯(lián)結  87
3.3.5  外聯(lián)結  88
3.4  小結  94
第4 章  SQL 是關于集合的  95
4.1  以面向集合的思維方式來思考  95
4.1.1  從面向過程轉(zhuǎn)變?yōu)榛诩系乃季S方式  96
4.1.2  面向過程vs.基于集合的思維方式:一個例子  100
4.2  集合運算  102
4.2.1  UNION 和UNION ALL  103
4.2.2  MINUS  106
4.2.3  INTERSECT   107
4.3  集合與空值  108
4.3.1  空值與非直觀結果  108
4.3.2  集合運算中的空值行為  110
4.3.3  空值與GROUP BY 和ORDER BY   112
4.3.4  空值與聚合函數(shù)  114
4.4  小結  114
第5 章  關于問題  116
5.1  問出好的問題  116
5.2  提問的目的  117
5.3  問題的種類  117
5.4  關于問題的問題  119
5.5  關于數(shù)據(jù)的問題  121
5.6  建立邏輯表達式  126
5.7  小結  136
第6 章  SQL 執(zhí)行計劃  137
6.1  解釋計劃  137
6.1.1  使用解釋計劃  137
6.1.2  理解解釋計劃可能達不到目的的方式  143
6.1.3  閱讀計劃  146
6.2  執(zhí)行計劃  148
6.2.1  查看最近生成的SQL 語句  149
6.2.2  查看相關執(zhí)行計劃  149
6.2.3  收集執(zhí)行計劃統(tǒng)計信息  151
6.2.4  標識SQL 語句以便以后取回計劃  153
6.2.5  深入理解DBMS_XPLAN 的細節(jié)  156
6.2.6  使用計劃信息來解決問題  161
6.3  小結  169
第7 章  高級分組  170
7.1  基本的GROUP BY 用法  171
7.2  HAVING 子句   174
7.3  GROUP BY 的“新”功能  175
7.4  GROUP BY 的CUBE 擴展  175
7.5  CUBE 的實際應用   179
7.6  通過GROUPING()函數(shù)排除空值  185
7.7  用GROUPING()來擴展報告  186
7.8  使用GROUPING_ID()來擴展報告  187
7.9  GROUPING SETS 與ROLLUP()   191
7.10  GROUP BY 局限性  193
7.11  小結  196
第8 章  分析函數(shù)   197
8.1  示例數(shù)據(jù)  197
8.2  分析函數(shù)剖析   198
8.3  函數(shù)列表   199
8.4  聚合函數(shù)   200
8.4.1  跨越整個分區(qū)的聚合函數(shù)  201
8.4.2  細粒度窗口聲明  201
8.4.3  默認窗口聲明   202
8.5  Lead 和Lag    202
8.5.1  語法和排序  202
8.5.2  例1:從前一行中返回一個值  203
8.5.3  理解數(shù)據(jù)行的位移  204
8.5.4  例2:從下一行中返回一個值  204
8.6  First_value 和Last_value    205
8.6.1  例子:使用First_value 來計算最大值   206
8.6.2  例子:使用Last_value 來計算最小值   207
8.7  其他分析函數(shù)   207
8.7.1  Nth_value (11gR2)    207
8.7.2  Rank    209
8.7.3  Dense_rank    210
8.7.4  Row_number    211
8.7.5  Ratio_to_report   211
8.7.6  Percent_rank   212
8.7.7  Percentile_cont   213
8.7.8  Percentile_disc   215
8.7.9  NTILE  215
8.7.10  Stddev   216
8.7.11  Listagg   217
8.8  性能調(diào)優(yōu)  218
8.8.1  執(zhí)行計劃  218
8.8.2  謂語  219
8.8.3  索引  220
8.9  高級話題  221
8.9.1  動態(tài)SQL   221
8.9.2  嵌套分析函數(shù)  222
8.9.3  并行  223
8.9.4  PGA 大小  224
8.10  組織行為  224
8.11  小結  224
第9 章  Model 子句  225
9.1  電子表格  225
9.2  通過Model 子句進行跨行引用  226
9.2.1  示例數(shù)據(jù)  226
9.2.2  剖析Model 子句  227
9.2.3  規(guī)則  228
9.3  位置和符號引用  229
9.3.1  位置標記  229
9.3.2  符號標記  230
9.3.3  FOR 循環(huán)  231
9.4  返回更新后的行  232
9.5  求解順序  233
9.5.1  行求解順序  233
9.5.2  規(guī)則求解順序  235
9.6  聚合  237
9.7  迭代  237
9.7.1  一個例子  238
9.7.2  PRESENTV與空值  239
9.8  查找表  240
9.9  空值  242
9.10  使用Model子句進行性能調(diào)優(yōu)  243
9.10.1  執(zhí)行計劃  243
9.10.2  謂語前推  246
9.10.3  物化視圖  247
9.10.4  并行  249
9.10.5  Model 子句執(zhí)行中的分區(qū)  250
9.10.6  索引  251
9.11  子查詢因子化  252
9.12  小結  253
第10 章  子查詢因子化  254
10.1  標準用法  254
10.2  SQL 優(yōu)化  257
10.2.1  測試執(zhí)行計劃  257
10.2.2  跨多個執(zhí)行的測試  260
10.2.3  測試查詢改變的影響  263
10.2.4  尋找其他優(yōu)化機會  266
10.2.5  將子查詢因子化應用到PL/SQL 中  270
10.3  遞歸子查詢  273
10.3.1  一個CONNECT BY 的例子  274
10.3.2  使用RSF 的例子  275
10.3.3  RSF 的限制條件  276
10.3.4  與CONNECT BY 的不同點  276
10.4  復制CONNECT BY 的功能  277
10.4.1  LEVEL 偽列  278
10.4.2  SYS_CONNECT_BY_PATH 函數(shù)  279
10.4.3  CONNECT_BY_ROOT 運算符  281
10.4.4  CONNECT_BY_ISCYCLE偽列和NOCYCLE 參數(shù)  284
10.4.5  CONNECT_BY_ISLEAF 偽列  287
10.5  小結  291
第11 章  半聯(lián)結和反聯(lián)結  292
11.1  半聯(lián)結  292
11.2  半聯(lián)結執(zhí)行計劃  300
11.3  控制半聯(lián)結執(zhí)行計劃  305
11.3.1  使用提示控制半聯(lián)結執(zhí)行計劃  305
11.3.2  在實例級控制半聯(lián)結執(zhí)行計劃  308
11.4  半聯(lián)結限制條件  310
11.5  半聯(lián)結必要條件  312
11.6  反聯(lián)結  312
11.7  反聯(lián)結執(zhí)行計劃  317
11.8  控制反聯(lián)結執(zhí)行計劃  326
11.8.1  使用提示控制反聯(lián)結執(zhí)行計劃  326
11.8.2  在實例級控制反聯(lián)結執(zhí)行計劃  327
11.9  反聯(lián)結限制條件  330
11.10  反聯(lián)結必要條件  333
11.11  小結  333
第12 章  索引  334
12.1  理解索引  335
12.1.1  什么時候使用索引  335
12.1.2  列的選擇  337
12.1.3  空值問題  338
12.2  索引結構類型  339
12.2.1  B-樹索引  339
12.2.2  位圖索引  340
12.2.3  索引組織表  341
12.3  分區(qū)索引  343
12.3.1  局部索引  343
12.3.2  全局索引  345
12.3.3  散列分區(qū)與范圍分區(qū)  346
12.4  與應用特點相匹配的解決方案  348
12.4.1  壓縮索引  348
12.4.2  基于函數(shù)的索引  350
12.4.3  反轉(zhuǎn)鍵索引  353
12.4.4  降序索引  354
12.5  管理問題的解決方案  355
12.5.1  不可見索引  355
12.5.2  虛擬索引  356
12.5.3  位圖聯(lián)結索引  357
12.6  小結  359
第13 章  SELECT 以外的內(nèi)容  360
13.1  INSERT  360
13.1.1  直接路徑插入  360
13.1.2  多表插入   363
13.1.3  條件插入   364
13.1.4  DML 錯誤日志   364
13.2  UPDATE  371
13.3  DELETE  376
13.4  MERGE   380
13.4.1  語法和用法  380
13.4.2  性能比較   383
13.5  小結   385
第14 章  事務處理   386
14.1  什么是事務   386
14.2  事務的ACID 屬性   387
14.3  事務隔離級別  388
14.4  多版本讀一致性   390
14.5  事務控制語句  391
14.5.1  Commit(提交)  391
14.5.2  Savepoint(保存點)    391
14.5.3  Rollback(回滾)    391
14.5.4  Set Transaction(設置事務)    391
14.5.5  Set Constraints(設置約束)    392
14.6  將運算分組為事務   392
14.7  訂單錄入模式  393
14.8  活動事務   399
14.9  使用保存點   400
14.10  序列化事務   403
14.11  隔離事務   406
14.12  自治事務   409
14.13  小結  413
第15 章  測試與質(zhì)量保證   415
15.1  測試用例   416
15.2  測試方法   417
15.3  單元測試   418
15.4  回歸測試   422
15.5  模式修改   422
15.6  重復單元測試  425
15.7  執(zhí)行計劃比較  426
15.8  性能測量   432
15.9  在代碼中加入性能測量  432
15.10  性能測試  436
15.11  破壞性測試  437
15.12  通過性能測量進行系統(tǒng)檢修  439
15.13  小結  442
第16 章  計劃穩(wěn)定性與控制  443
16.1  計劃不穩(wěn)定性:理解這個問題  443
16.1.1  統(tǒng)計信息的變化  444
16.1.2  運行環(huán)境的改變  446
16.1.3  SQL 語句的改變  447
16.1.4  綁定變量窺視  448
16.2  識別執(zhí)行計劃的不穩(wěn)定性  450
16.2.1  抓取當前所運行查詢的數(shù)據(jù)  451
16.2.2  查看一條語句的性能歷史  452
16.2.3  按照執(zhí)行計劃聚合統(tǒng)計信息  454
16.2.4  尋找執(zhí)行計劃的統(tǒng)計方差  454
16.2.5  在一個時間點附近檢查偏差  456
16.3  執(zhí)行計劃控制:解決問題  458
16.3.1  調(diào)整查詢結構  459
16.3.2  適當使用常量  459
16.3.3  給優(yōu)化器一些提示  459
16.4  執(zhí)行計劃控制:不能直接訪問代碼  466
16.4.1  選項1:改變統(tǒng)計信息  467
16.4.2  選項2:改變數(shù)據(jù)庫參數(shù)  469
16.4.3  選項3:增加或移除訪問路徑  469
16.4.4  選項4:應用基于提示的執(zhí)行計劃控制機制  470
16.4.5  大綱  470
16.4.6  SQL 概要文件  481
16.4.7  SQL 執(zhí)行計劃基線  496
16.4.8  基于提示的執(zhí)行計劃控制機制總結  502
16.5  結論  502

本目錄推薦

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