序
         前 言
         第1章 SQL編程/1
         1.1 MySQL數據庫/2
         1.1.1 MySQL數據庫曆史/2
         1.1.2 MySQL數據庫的分支版本/4
         1.2 SQL編程/5
         1.3 數據庫的應用類型/7
         1.3.1 OLTP/7
         1.3.2 OLAP/8
         1.3.3 OLTP與OLAP的比較/9
         1.3.4 MySQL存儲引擎及其麵嚮的數據庫應用/10
         1.4 圖形化的SQL查詢分析器/12
         1.4.1 MySQL Workbench/12
         1.4.2 Toad for MySQL/12
         1.4.3 iMySQL-Front/13
         1.5 小結/15
         第2章 數據類型/16
         2.1 類型屬性/17
         2.1.1 UNSIGNED/17
         2.1.2 ZEROFILL/20
         2.2 SQL_MODE設置/21
         2.3 日期和時間類型/26
         2.3.1 DATETIME和 DATE/26
         2.3.2 TIMESTAMP/28
         2.3.3 YEAR和TIME/30
         2.3.4 與日期和時間相關的函數/31
         2.4 關於日期的經典SQL編程問題/34
         2.4.1 生日問題/34
         2.4.2 重疊問題/37
         2.4.3 星期數的問題/48
         2.5 數字類型/53
         2.5.1 整型/53
         2.5.2 浮點型(非精確類型)/54
         2.5.3 高精度類型/54
         2.5.4 位類型/55
         2.6 關於數字的經典SQL編程問題/56
         2.6.1 數字輔助錶/56
         2.6.2 連續範圍問題/58
         2.7 字符類型/60
         2.7.1 字符集/60
         2.7.2 排序規則/64
         2.7.3 CHAR和VARCHAR/68
         2.7.4 BINARY和VARBINARY/70
         2.7.5 BLOB和TEXT/72
         2.7.6 ENUM和SET類型/73
         2.8 小結/75
         第3章 查詢處理/76
         3.1 邏輯查詢處理/77
         3.1.1 執行笛卡兒積/79
         3.1.2 應用ON過濾器/80
         3.1.3 添加外部行/83
         3.1.4 應用WHERE過濾器/84
         3.1.5 分組/85
         3.1.6 應用ROLLUP或CUBE/86
         3.1.7 應用HAVING過濾器/86
         3.1.8 處理SELECT列錶/87
         3.1.9 應用DISTINCT子句/87
         3.1.10 應用ORDER BY子句/88
         3.1.11 LIMIT子句/92
         3.2 物理查詢處理/93
         3.3 小結/95
         第4章 子查詢/96
         4.1 子查詢概述/97
         4.1.1 子查詢的優點和限製/97
         4.1.2 使用子查詢進行比較/97
         4.1.3 使用ANY、IN和SOME進行子查詢/98
         4.1.4 使用ALL進行子查詢/99
         4.2 獨立子查詢/99
         4.3 相關子查詢/105
         4.4 EXISTS謂詞/109
         4.4.1 EXISTS /109
         4.4.2 NOT EXISTS/111
         4.5 派生錶/113
         4.6 子查詢可以解決的經典問題/114
         4.6.1 行號/114
         4.6.2 分區/118
         4.6.3 最小缺失值問題/121
         4.6.4 缺失範圍和連續範圍/122
         4.7 MariaDB對SEMI JOIN的優化/126
         4.7.1 概述/126
         4.7.2 Table Pullout優化/127
         4.7.3 Duplicate Weedout 優化/128
         4.7.4 Materialization優化/129
         4.8 小結/130
         第5章 聯接與集閤操作/132
         5.1 聯接查詢/133
         5.1.1 新舊查詢語法/133
         5.1.2 CROSS JOIN/134
         5.1.3 INNER JOIN/137
         5.1.4 OUTER JOIN/138
         5.1.5 NATURAL JOIN/141
         5.1.6 STRAIGHT_JOIN/141
         5.2 其他聯接分類/142
         5.2.1 SELF JOIN/143
         5.2.2 NONEQUI JOIN/144
         5.2.3 SEMI JOIN和ANTI SEMI JOIN/145
         5.3 多錶聯接/146
         5.4 滑動訂單問題/148
         5.5 聯接算法/150
         5.5.1 Simple Nested-Loops Join算法/150
         5.5.2 Block Nested-Loops Join算法/155
         5.5.3 Batched Key Access Join算法/158
         5.5.4 Classic Hash Join算法/161
         5.6 集閤操作/163
         5.6.1 集閤操作的概述/163
         5.6.2 UNION DISTINCT和UNION ALL/165
         5.6.3 EXCEPT/167
         5.6.4 INTERSECT/170
         5.7 小結/171
         第6章 聚閤和鏇轉操作/172
         6.1 聚閤 /173
         6.1.1 聚閤函數/173
         6.1.2 聚閤的算法/174
         6.2 附加屬性聚閤/176
         6.3 連續聚閤/178
         6.3.1 纍積聚閤/179
         6.3.2 滑動聚閤/183
         6.3.3 年初至今聚閤/184
         6.4 Pivoting/185
         6.4.1 開放架構/185
         6.4.2 關係除法/187
         6.4.3 格式化聚閤數據/189
         6.5 Unpivoting/191
         6.6 CUBE 和 ROLLUP/193
         6.6.1 ROLLUP/193
         6.6.2 CUBE/196
         6.7 小結/197
         第7章 遊標/198
         7.1 麵嚮集閤與麵嚮過程的開發/199
         7.2 遊標的使用/199
         7.3 遊標的開銷/200
         7.4 使用遊標解決問題/202
         7.4.1 遊標的性能分析/202
         7.4.2 連續聚閤/203
         7.4.3 最大會話數/206
         7.5 小結/210
         第8章 事務編程/211
         8.1 事務概述/212
         8.2 事務的分類/214
         8.3 事務控製語句/219
         8.4 隱式提交的SQL語句/224
         8.5 事務的隔離級彆/225
         8.6 分布式事務編程/229
         8.7 不好的事務編程習慣/234
         8.7.1 在循環中提交/234
         8.7.2 使用自動提交/236
         8.7.3 使用自動迴滾/236
         8.8 長事務/239
         8.9 小結/240
         第9章 索引/242
         9.1 緩衝池、順序讀取與隨機讀取/243
         9.2 數據結構與算法/246
         9.2.1 二分查找法/246
         9.2.2 二叉查找樹和平衡二叉樹/247
         9.3 B+樹/249
         9.3.1 B+樹的插入操作/250
         9.3.2 B+樹的刪除操作/252
         9.4 B+樹索引/253
         9.4.1 InnoDB B+樹索引/254
         9.4.2 MyISAM B+樹索引/256
         9.5 Cardinality/256
         9.5.1 什麼是Cardinality/256
         9.5.2 InnoDB存儲引擎怎樣統計Cardinality/257
         9.6 B+樹索引的使用/259
         9.6.1 不同應用中B+樹索引的使用/259
         9.6.2 聯閤索引/260
         9.6.3 覆蓋索引/262
         9.6.4 優化器選擇不使用索引的情況/263
         9.6.5 INDEX HINT/265
         9.7 Multi-Range Read/267
         9.8 Index Condition Pushdown/269
         9.9 T樹索引/271
         9.9.1 T樹概述/271
         9.9.2 T樹的查找、插入和刪除操作/272
         9.9.3 T樹的鏇轉/273
         9.10 哈希索引/276
         9.10.1 散列錶/276
         9.10.2 InnoDB存儲引擎中的散列算法/278
         9.10.3 自適應哈希索引/278
         9.11 小結/279
         第10章 分區/280
         10.1 分區概述/281
         10.2 分區類型/283
         10.2.1 RANGE分區/283
         10.2.2 LIST分區/289
         10.2.3 HASH分區/291
         10.2.4 KEY分區/293
         10.2.5 COLUMNS分區/293
         10.3 子分區/295
         10.4 分區中的NULL值/298
         10.5 分區和性能/301
         10.6 在錶和分區間交換數據/305
         10.7 小結/307
      · · · · · ·     (
收起)