上篇 開啓驚喜之門——帶意識地學Oracle
第1章 意識,少做事從學習開始 2
1.1 選擇先學什麼頗有學問 2
1.1.1 梁老師課堂爆笑開場 2
1.1.2 看似跑題的手機分類 4
1.1.3 學什麼先瞭解做什麼 5
1.2 善於規劃分類纔有效果 7
1.2.1 分類與角色密切相關 7
1.2.2 角色自我認識有講究 9
1.3 明白學以緻用方有意義 11
第2章 震驚,體驗物理體係之旅 13
2.1 必須提及的係列知識 13
2.2 物理體係從老餘開店慢慢鋪開 16
2.2.1 老餘的三個小故事 16
2.2.1.1 顧客的尺寸 16
2.2.1.2 有效的調整 17
2.2.1.3 記錄的習慣 18
2.2.2 體係結構原理初探 20
2.2.2.1 從一普通查詢SQL說起 20
2.2.2.2 老餘故事終現用心良苦 23
2.2.2.3 一起體會Oracle代價 27
2.2.3 體係結構原理再探 30
2.2.3.1 從一普通更新語句說起 30
2.2.3.2 體係結構中提交的探討 34
2.2.3.3 勞模的評選 38
2.2.3.4 迴滾的研究 40
2.2.3.5 一緻的查詢 43
2.2.3.6 一緻讀的原理 46
2.2.3.7 實踐的體會 49
2.3 體係學習讓SQL性能提升韆倍 65
2.3.1 一起探索體係學習的意義 65
2.3.1.1 同學們不知所學何用 66
2.3.1.2 實際上大有用武之地 67
2.3.2 單車到飛船的經典之旅 70
2.3.2.1 未優化前,單車速度 70
2.3.2.2 綁定變量,摩托速度 72
2.3.2.3 靜態改寫,汽車速度 74
2.3.2.4 批量提交,動車速度 75
2.3.2.5 集閤寫法,飛機速度 77
2.3.2.6 直接路徑,火箭速度 78
2.3.2.7 並行設置,飛船速度 79
2.3.3 精彩的總結與課程展望 80
2.3.3.1 最大的收獲應該是思想 80
2.3.3.2 老師的課程展望與規劃 81
第3章 神奇,走進邏輯體係世界 84
3.1 長幼有序的邏輯體係 84
3.2 邏輯體係從老餘養殖細細說起 85
3.2.1 農場之體係邏輯結構 85
3.2.2 農場之BLOCK漫談 89
3.2.3 農場之區與段 91
3.2.4 農場之錶空間的分類 93
3.2.4.1 錶空間與係統農場 93
3.2.4.2 錶空間與臨時農場 93
3.2.4.3 錶空間與迴滾農場 94
3.2.5 邏輯結構之初次體會 94
3.2.5.1 邏輯結構之BLOCK 94
3.2.5.2 邏輯結構之TABLESPACE 95
3.2.5.3 邏輯結構之USER 97
3.2.5.4 邏輯結構之EXTENT 97
3.2.5.5 邏輯結構之SEGMENT 98
3.2.6 邏輯結構之二次體會 100
3.2.6.1 BLOCK的大小與調整 100
3.2.6.2 PCTFREE參數與調整 101
3.2.6.3 PCTFREE與生效範圍 102
3.2.6.4 EXTENT尺寸與調整 103
3.2.7 邏輯結構之三次體會 104
3.2.7.1 已用與未用錶空間情況 104
3.2.7.2 錶空間大小與自動擴展 105
3.2.7.3 迴滾錶空間新建與切換 109
3.2.7.4 臨時錶空間新建與切換 111
3.2.7.5 臨時錶空間組及其妙用 114
3.3 課程結束你給程序安上瞭翅膀 117
3.3.1 過度擴展與性能 117
3.3.2 PCTFREE與性能 120
3.3.3 行遷移與優化 123
3.3.4 塊的大小與應用 124
第4章 祝賀,錶的設計成就英雄 131
4.1 錶的設計之五朵金花 131
4.2 錶的特性從老餘一傢展開描述 132
4.2.1 老餘一傢各施所長 132
4.2.2 普通堆錶不足之處 132
4.2.2.1 錶更新日誌開銷較大 133
4.2.2.2 delete無法釋放空間 136
4.2.2.3 錶記錄太大檢索較慢 139
4.2.2.4 索引迴錶讀開銷很大 140
4.2.2.5 有序插入卻難有序讀齣 143
4.2.3 奇特的全局臨時錶 146
4.2.3.1 分析全局臨時錶的類型 146
4.2.3.2 觀察各類DML的REDO量 147
4.2.3.3 全局臨時錶兩大重要特性 149
4.2.4 神通廣大的分區錶 153
4.2.4.1 分區錶類型及原理 155
4.2.4.2 分區錶最實用的特性 165
4.2.4.3 分區索引類型簡述 176
4.2.4.4 分區錶之相關陷阱 177
4.2.5 有趣的索引組織錶 184
4.2.6 簇錶的介紹及應用 187
4.3 理解錶設計的你成為項目組英雄 189
第5章 驚嘆,索引天地妙不可言 191
5.1 看似簡單無趣的索引知識 191
5.2 索引探秘從小餘緝凶拉開帷幕 192
5.2.1 BTREE索引的精彩世界 192
5.2.1.1 BTREE索引結構圖展現 192
5.2.1.2 到底是物理還是邏輯結構 194
5.2.1.3 索引結構三大重要特點 198
5.2.1.4 插播小餘緝凶精彩故事 201
5.2.1.5 妙用三特徵之高度較低 203
5.2.1.6 巧用三特徵之存儲列值 219
5.2.1.7 活用三特徵之索引有序 248
5.2.1.8 不可不說的主外鍵設計 265
5.2.1.9 組閤索引高效設計要領 272
5.2.1.10 變換角度看索引的危害 289
5.2.1.11 如何閤理控製索引數量 295
5.2.2 位圖索引的玫瑰花之刺 297
5.2.2.1 統計條數奮勇奪冠 297
5.2.2.2 即席查詢一騎絕塵 302
5.2.2.3 遭遇更新苦不堪言 306
5.2.2.4 重復度低一敗塗地 309
5.2.2.5 瞭解結構真相大白 311
5.2.3 小心函數索引步步陷阱 315
5.2.3.1 列運算讓索引失去作用 315
5.2.3.2 函數索引是這樣應用的 317
5.2.3.3 避免列運算的經典案例 319
5.3 索引讓一係列最熟悉的SQL飛起來瞭 325
第6章 經典,錶的連接學以緻用 327
6.1 錶的連接之江南三劍客 327
6.2 三大類型從小餘跳舞一一道來 328
6.2.1 跳舞也能跳齣連接類型 328
6.2.1.1 感覺怪異的嵌套循環 328
6.2.1.2 排序閤並及哈希連接 329
6.2.2 各類連接訪問次數差異 330
6.2.2.1 嵌套循環的錶訪問次數 330
6.2.2.2 哈希連接的錶訪問次數 337
6.2.2.3 排序閤並的錶訪問次數 340
6.2.3 各類連接驅動順序區彆 341
6.2.3.1 嵌套循環的錶驅動順序 341
6.2.3.2 哈希連接的錶驅動順序 343
6.2.3.3 排序閤並的錶驅動順序 345
6.2.4 各類連接排序情況分析 347
6.2.4.1 除嵌套循環都需排序 347
6.2.4.2 排序隻需取部分字段 347
6.2.4.3 關於排序的經典案例 349
6.2.5 各類連接限製場景對比 350
6.2.5.1 哈希連接的限製 350
6.2.5.2 排序閤並的限製 353
6.2.5.3 嵌套循環無限製 355
6.3 你動手裝備的錶連接威震三軍 355
6.3.1 嵌套循環與索引 356
6.3.2 哈希連接與索引 362
6.3.3 排序閤並與索引 363
下篇 飛翔意識天空——思想與案例的分享
第7章 搞定!不靠技術靠菜刀 368
7.1 SQL被一刀剁瞭 369
7.2 整個模塊丟棄瞭 370
7.3 調用次數減少瞭 371
7.4 排序不再需要瞭 372
7.5 大錶砍成小錶瞭 373
7.6 排重操作消失瞭 373
7.7 插入阻礙小多瞭 374
7.8 遷移事情不做瞭 375
第8章 升級!靠技術改隱形刀 377
8.1 大錶等同小錶瞭 378
8.2 大錶切成小錶瞭 379
8.3 索引變身小錶瞭 380
8.4 刪除動作不做瞭 380
8.5 清錶角度變換瞭 381
8.6 提交次數縮減瞭 382
8.7 遷移越來越快瞭 384
8.8 SQL語句精簡瞭 385
第9章 提問,也是智慧的體現 391
9.1 描述要考慮周全 392
9.2 用詞要盡量準確 393
9.3 說明要力求簡潔 394
9.4 問過的避免再問 396
9.5 能搜能試不急問 396
第10章 買魚,居然買齣方法論 398
10.1 小餘買魚係列故事 398
10.1.1 診斷與改進 398
10.1.2 需求與設計 401
10.1.3 資源的利用 403
10.1.4 真正的需求 404
10.2 買魚買齣瞭方法論 405
10.2.1 一套流程 405
10.2.2 兩大法寶 407
10.3 方法論的應用案例 408
10.3.1 從我們的這一套流程說起 408
10.3.1.1 診斷 408
10.3.1.2 改進優化(首次優化) 409
10.3.1.3 需求與設計(再次優化) 410
10.3.1.4 資源利用(花絮) 412
10.3.2 案例映襯瞭經典兩大法寶 412
第11章 寶典,規範讓你少做事 414
11.1 抓狂,為何事總忙不完 415
11.1.1 技術能力不足的新人們 415
11.1.2 不懂提問智慧的求助者 415
11.1.3 産生各種失誤的粗心者 416
11.1.3.1 啊,小黃的DDL惹禍 416
11.1.3.2 慘,老師登錯環境瞭 417
11.1.3.3 糟,小羅忘操作
11.1.4 解決問題緩慢的技術員 419
11.1.4.1 優化效率低下的小高 419
11.1.4.2 為何老師能快速解決 420
11.1.5 陷入種種睏境的開發者 422
11.1.5.1 超長SQL使小鄭煩惱 422
11.1.5.2 缺少注釋讓小葉沮喪 422
11.1.6 總是考慮不全的設計者 423
11.1.6.1 未提前規劃的王工 423
11.1.6.2 不瞭解特性的劉工 424
11.2 淡定,規範少做無謂事 425
11.2.1 學習規範——促成新人快速成長 426
11.2.2 求助規範——引導求助不再迷糊 427
11.2.3 操作規範——協助粗心者不犯錯 428
11.2.4 流程規範——保障問題快速解決 429
11.2.4.1 動態整體 429
11.2.4.2 動態局部 432
11.2.4.3 靜態整體 439
11.2.4.4 靜態局部 448
11.2.5 開發規範——讓開發者駕輕就熟 451
11.2.5.1 SQL編寫規範 452
11.2.5.2 PL/SQL編寫規範 455
11.2.6 設計規範——助設計者運籌帷幄 457
11.2.6.1 錶規範 458
11.2.6.2 索引規範 461
11.2.6.3 環境參數規範 467
11.2.6.4 命名規範469
· · · · · · (
收起)