注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合Oracle SQL高級(jí)編程

Oracle SQL高級(jí)編程

Oracle SQL高級(jí)編程

定 價(jià):¥89.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第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  個(gè)核心的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  小結(jié)  24
第2 章  SQL 執(zhí)行  25
2.1  Oracle 架構(gòu)基礎(chǔ)  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  使用物化視圖進(jìn)行查詢重寫  44
2.11  確定執(zhí)行計(jì)劃  46
2.12  執(zhí)行計(jì)劃并取得數(shù)據(jù)行  50
2.13  SQL 執(zhí)行——總覽  52
2.14  小結(jié)  53
第3 章  訪問和聯(lián)結(jié)方法  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  索引結(jié)構(gòu)  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)結(jié)方法  80
3.3.1  嵌套循環(huán)聯(lián)結(jié)  81
3.3.2  排序—合并聯(lián)結(jié)  83
3.3.3  散列聯(lián)結(jié)  84
3.3.4  笛卡兒聯(lián)結(jié)  87
3.3.5  外聯(lián)結(jié)  88
3.4  小結(jié)  94
第4 章  SQL 是關(guān)于集合的  95
4.1  以面向集合的思維方式來思考  95
4.1.1  從面向過程轉(zhuǎn)變?yōu)榛诩系乃季S方式  96
4.1.2  面向過程vs.基于集合的思維方式:一個(gè)例子  100
4.2  集合運(yùn)算  102
4.2.1  UNION 和UNION ALL  103
4.2.2  MINUS  106
4.2.3  INTERSECT   107
4.3  集合與空值  108
4.3.1  空值與非直觀結(jié)果  108
4.3.2  集合運(yùn)算中的空值行為  110
4.3.3  空值與GROUP BY 和ORDER BY   112
4.3.4  空值與聚合函數(shù)  114
4.4  小結(jié)  114
第5 章  關(guān)于問題  116
5.1  問出好的問題  116
5.2  提問的目的  117
5.3  問題的種類  117
5.4  關(guān)于問題的問題  119
5.5  關(guān)于數(shù)據(jù)的問題  121
5.6  建立邏輯表達(dá)式  126
5.7  小結(jié)  136
第6 章  SQL 執(zhí)行計(jì)劃  137
6.1  解釋計(jì)劃  137
6.1.1  使用解釋計(jì)劃  137
6.1.2  理解解釋計(jì)劃可能達(dá)不到目的的方式  143
6.1.3  閱讀計(jì)劃  146
6.2  執(zhí)行計(jì)劃  148
6.2.1  查看最近生成的SQL 語句  149
6.2.2  查看相關(guān)執(zhí)行計(jì)劃  149
6.2.3  收集執(zhí)行計(jì)劃統(tǒng)計(jì)信息  151
6.2.4  標(biāo)識(shí)SQL 語句以便以后取回計(jì)劃  153
6.2.5  深入理解DBMS_XPLAN 的細(xì)節(jié)  156
6.2.6  使用計(jì)劃信息來解決問題  161
6.3  小結(jié)  169
第7 章  高級(jí)分組  170
7.1  基本的GROUP BY 用法  171
7.2  HAVING 子句   174
7.3  GROUP BY 的“新”功能  175
7.4  GROUP BY 的CUBE 擴(kuò)展  175
7.5  CUBE 的實(shí)際應(yīng)用   179
7.6  通過GROUPING()函數(shù)排除空值  185
7.7  用GROUPING()來擴(kuò)展報(bào)告  186
7.8  使用GROUPING_ID()來擴(kuò)展報(bào)告  187
7.9  GROUPING SETS 與ROLLUP()   191
7.10  GROUP BY 局限性  193
7.11  小結(jié)  196
第8 章  分析函數(shù)   197
8.1  示例數(shù)據(jù)  197
8.2  分析函數(shù)剖析   198
8.3  函數(shù)列表   199
8.4  聚合函數(shù)   200
8.4.1  跨越整個(gè)分區(qū)的聚合函數(shù)  201
8.4.2  細(xì)粒度窗口聲明  201
8.4.3  默認(rèn)窗口聲明   202
8.5  Lead 和Lag    202
8.5.1  語法和排序  202
8.5.2  例1:從前一行中返回一個(gè)值  203
8.5.3  理解數(shù)據(jù)行的位移  204
8.5.4  例2:從下一行中返回一個(gè)值  204
8.6  First_value 和Last_value    205
8.6.1  例子:使用First_value 來計(jì)算最大值   206
8.6.2  例子:使用Last_value 來計(jì)算最小值   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í)行計(jì)劃  218
8.8.2  謂語  219
8.8.3  索引  220
8.9  高級(jí)話題  221
8.9.1  動(dòng)態(tài)SQL   221
8.9.2  嵌套分析函數(shù)  222
8.9.3  并行  223
8.9.4  PGA 大小  224
8.10  組織行為  224
8.11  小結(jié)  224
第9 章  Model 子句  225
9.1  電子表格  225
9.2  通過Model 子句進(jìn)行跨行引用  226
9.2.1  示例數(shù)據(jù)  226
9.2.2  剖析Model 子句  227
9.2.3  規(guī)則  228
9.3  位置和符號(hào)引用  229
9.3.1  位置標(biāo)記  229
9.3.2  符號(hào)標(biāo)記  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  一個(gè)例子  238
9.7.2  PRESENTV與空值  239
9.8  查找表  240
9.9  空值  242
9.10  使用Model子句進(jìn)行性能調(diào)優(yōu)  243
9.10.1  執(zhí)行計(jì)劃  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  小結(jié)  253
第10 章  子查詢因子化  254
10.1  標(biāo)準(zhǔn)用法  254
10.2  SQL 優(yōu)化  257
10.2.1  測(cè)試執(zhí)行計(jì)劃  257
10.2.2  跨多個(gè)執(zhí)行的測(cè)試  260
10.2.3  測(cè)試查詢改變的影響  263
10.2.4  尋找其他優(yōu)化機(jī)會(huì)  266
10.2.5  將子查詢因子化應(yīng)用到PL/SQL 中  270
10.3  遞歸子查詢  273
10.3.1  一個(gè)CONNECT BY 的例子  274
10.3.2  使用RSF 的例子  275
10.3.3  RSF 的限制條件  276
10.3.4  與CONNECT BY 的不同點(diǎn)  276
10.4  復(fù)制CONNECT BY 的功能  277
10.4.1  LEVEL 偽列  278
10.4.2  SYS_CONNECT_BY_PATH 函數(shù)  279
10.4.3  CONNECT_BY_ROOT 運(yùn)算符  281
10.4.4  CONNECT_BY_ISCYCLE偽列和NOCYCLE 參數(shù)  284
10.4.5  CONNECT_BY_ISLEAF 偽列  287
10.5  小結(jié)  291
第11 章  半聯(lián)結(jié)和反聯(lián)結(jié)  292
11.1  半聯(lián)結(jié)  292
11.2  半聯(lián)結(jié)執(zhí)行計(jì)劃  300
11.3  控制半聯(lián)結(jié)執(zhí)行計(jì)劃  305
11.3.1  使用提示控制半聯(lián)結(jié)執(zhí)行計(jì)劃  305
11.3.2  在實(shí)例級(jí)控制半聯(lián)結(jié)執(zhí)行計(jì)劃  308
11.4  半聯(lián)結(jié)限制條件  310
11.5  半聯(lián)結(jié)必要條件  312
11.6  反聯(lián)結(jié)  312
11.7  反聯(lián)結(jié)執(zhí)行計(jì)劃  317
11.8  控制反聯(lián)結(jié)執(zhí)行計(jì)劃  326
11.8.1  使用提示控制反聯(lián)結(jié)執(zhí)行計(jì)劃  326
11.8.2  在實(shí)例級(jí)控制反聯(lián)結(jié)執(zhí)行計(jì)劃  327
11.9  反聯(lián)結(jié)限制條件  330
11.10  反聯(lián)結(jié)必要條件  333
11.11  小結(jié)  333
第12 章  索引  334
12.1  理解索引  335
12.1.1  什么時(shí)候使用索引  335
12.1.2  列的選擇  337
12.1.3  空值問題  338
12.2  索引結(jié)構(gòu)類型  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  與應(yīng)用特點(diǎn)相匹配的解決方案  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)結(jié)索引  357
12.6  小結(jié)  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 錯(cuò)誤日志   364
13.2  UPDATE  371
13.3  DELETE  376
13.4  MERGE   380
13.4.1  語法和用法  380
13.4.2  性能比較   383
13.5  小結(jié)   385
第14 章  事務(wù)處理   386
14.1  什么是事務(wù)   386
14.2  事務(wù)的ACID 屬性   387
14.3  事務(wù)隔離級(jí)別  388
14.4  多版本讀一致性   390
14.5  事務(wù)控制語句  391
14.5.1  Commit(提交)  391
14.5.2  Savepoint(保存點(diǎn))    391
14.5.3  Rollback(回滾)    391
14.5.4  Set Transaction(設(shè)置事務(wù))    391
14.5.5  Set Constraints(設(shè)置約束)    392
14.6  將運(yùn)算分組為事務(wù)   392
14.7  訂單錄入模式  393
14.8  活動(dòng)事務(wù)   399
14.9  使用保存點(diǎn)   400
14.10  序列化事務(wù)   403
14.11  隔離事務(wù)   406
14.12  自治事務(wù)   409
14.13  小結(jié)  413
第15 章  測(cè)試與質(zhì)量保證   415
15.1  測(cè)試用例   416
15.2  測(cè)試方法   417
15.3  單元測(cè)試   418
15.4  回歸測(cè)試   422
15.5  模式修改   422
15.6  重復(fù)單元測(cè)試  425
15.7  執(zhí)行計(jì)劃比較  426
15.8  性能測(cè)量   432
15.9  在代碼中加入性能測(cè)量  432
15.10  性能測(cè)試  436
15.11  破壞性測(cè)試  437
15.12  通過性能測(cè)量進(jìn)行系統(tǒng)檢修  439
15.13  小結(jié)  442
第16 章  計(jì)劃穩(wěn)定性與控制  443
16.1  計(jì)劃不穩(wěn)定性:理解這個(gè)問題  443
16.1.1  統(tǒng)計(jì)信息的變化  444
16.1.2  運(yùn)行環(huán)境的改變  446
16.1.3  SQL 語句的改變  447
16.1.4  綁定變量窺視  448
16.2  識(shí)別執(zhí)行計(jì)劃的不穩(wěn)定性  450
16.2.1  抓取當(dāng)前所運(yùn)行查詢的數(shù)據(jù)  451
16.2.2  查看一條語句的性能歷史  452
16.2.3  按照?qǐng)?zhí)行計(jì)劃聚合統(tǒng)計(jì)信息  454
16.2.4  尋找執(zhí)行計(jì)劃的統(tǒng)計(jì)方差  454
16.2.5  在一個(gè)時(shí)間點(diǎn)附近檢查偏差  456
16.3  執(zhí)行計(jì)劃控制:解決問題  458
16.3.1  調(diào)整查詢結(jié)構(gòu)  459
16.3.2  適當(dāng)使用常量  459
16.3.3  給優(yōu)化器一些提示  459
16.4  執(zhí)行計(jì)劃控制:不能直接訪問代碼  466
16.4.1  選項(xiàng)1:改變統(tǒng)計(jì)信息  467
16.4.2  選項(xiàng)2:改變數(shù)據(jù)庫參數(shù)  469
16.4.3  選項(xiàng)3:增加或移除訪問路徑  469
16.4.4  選項(xiàng)4:應(yīng)用基于提示的執(zhí)行計(jì)劃控制機(jī)制  470
16.4.5  大綱  470
16.4.6  SQL 概要文件  481
16.4.7  SQL 執(zhí)行計(jì)劃基線  496
16.4.8  基于提示的執(zhí)行計(jì)劃控制機(jī)制總結(jié)  502
16.5  結(jié)論  502

本目錄推薦

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