注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)數(shù)據(jù)庫SQL SeverMySQL技術(shù)內(nèi)幕:SQL編程

MySQL技術(shù)內(nèi)幕:SQL編程

MySQL技術(shù)內(nèi)幕:SQL編程

定 價:¥69.00

作 者: 姜承堯 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: SQL

ISBN: 9787111377641 出版時間: 2012-04-01 包裝: 平裝
開本: ` 頁數(shù): 324 字數(shù):  

內(nèi)容簡介

  《MySQL技術(shù)內(nèi)幕:SQL編程》是暢銷書《MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎》的姊妹篇,深刻揭示了MySQL中SQL編程的精髓與奧秘,能為開發(fā)者和DBA們利用SQL語言解決各種與開發(fā)和管理相關(guān)的MySQL難題提供很好的指導和幫助。《MySQL技術(shù)內(nèi)幕:SQL編程》一共10章,全面探討了MySQL中SQL編程的各種方法、技巧與最佳實踐。第1章首先介紹了SQL編程的概念、數(shù)據(jù)庫的應(yīng)用類型以及SQL查詢分析器,然后介紹了SQL編程的三個階段,希望讀者通過本書的學習能達到最后的融合階段。第2章全面講解了MySQL中的各種數(shù)據(jù)類型和與之相對應(yīng)的各種編程問題。第3章深入探討了邏輯查詢與物理查詢的原理與方法。第4章的主題是子查詢,不僅講解了各種常用的子查詢方法及其優(yōu)化,而且還講解了MariaDB對子查詢的優(yōu)化。第5章首先詳細地分析了MySQL中的各種聯(lián)接及其內(nèi)部的實現(xiàn)算法,以及MariaDB數(shù)據(jù)庫中引入的HashJoin,然后針對關(guān)于集合的各種操作給出了解決方案。第6章分享了聚合和旋轉(zhuǎn)操作的方法與技巧,并對一些經(jīng)典的常見問題給出了解決方案。第7章深入闡述了游標的使用,重點在于如何通過正確地使用游標來提高SQL編程的效率。第8章講解了關(guān)于事務(wù)的各種編程技巧,同時對事務(wù)的分類進行了詳細闡述。第9章詳細分析了各種索引的內(nèi)部實現(xiàn),探討了如何使用索引來提升查詢效率。第10章介紹了分區(qū)的方法與技巧,闡明了如何通過分區(qū)來進行SQL編程。無論你是開發(fā)人員還是DBA,無論你是需要一本SQL查詢手冊還是希望系統(tǒng)深入地學習SQL編程,本書都會是不錯的選擇。

作者簡介

  姜承堯(DavidJiang),資深MySQL數(shù)據(jù)庫專家,MySQL開源分支版本InnoSQL的創(chuàng)始人,獨立數(shù)據(jù)庫咨詢顧問。不僅擅長于數(shù)據(jù)庫的管理和維護,還擅長于數(shù)據(jù)庫的開發(fā),同時一直致力于MySQL數(shù)據(jù)庫底層實現(xiàn)原理的研究和探索,對高性能數(shù)據(jù)庫和數(shù)據(jù)倉庫也有深刻而獨到的理解。目前就職于網(wǎng)易研究院,擔任后臺技術(shù)中心技術(shù)經(jīng)理一職,從事MySQL數(shù)據(jù)庫底層以及云的相關(guān)的開發(fā)工作。曾領(lǐng)導并參與了多個大型核心數(shù)據(jù)庫應(yīng)用的設(shè)計、實施、管理和維護,實戰(zhàn)經(jīng)驗非常豐富?;钴S于開源數(shù)據(jù)庫和開源軟件領(lǐng)域,是著名開源社區(qū)ChinaUnixMySQL版塊的版主,熱衷于分享MySQL數(shù)據(jù)庫的各種成功應(yīng)用實踐。

圖書目錄


前言
第1章 SQL編程/1
1.1 MySQL數(shù)據(jù)庫/2
1.1.1 MySQL數(shù)據(jù)庫歷史/2
1.1.2 MySQL數(shù)據(jù)庫的分支版本/4
1.2 SQL編程/5
1.3 數(shù)據(jù)庫的應(yīng)用類型/7
1.3.1 OLTP/7
1.3.2 OLAP/8
1.3.3 OLTP與OLAP的比較/9
1.3.4 MySQL存儲引擎及其面向的數(shù)據(jù)庫應(yīng)用/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 小結(jié)/15
第2章 數(shù)據(jù)類型/16
2.1 類型屬性/17
2.1.1 UNSIGNED/17
2.1.2 ZEROFILL/20
2.2 SQL_MODE設(shè)置/21
2.3 日期和時間類型/26
2.3.1 DATETIME和 DATE/26
2.3.2 TIMESTAMP/28
2.3.3 YEAR和TIME/30
2.3.4 與日期和時間相關(guān)的函數(shù)/31
2.4 關(guān)于日期的經(jīng)典SQL編程問題/34
2.4.1 生日問題/34
2.4.2 重疊問題/37
2.4.3 星期數(shù)的問題/48
2.5 數(shù)字類型/53
2.5.1 整型/53
2.5.2 浮點型(非精確類型)/54
2.5.3 高精度類型/54
2.5.4 位類型/55
2.6 關(guān)于數(shù)字的經(jīng)典SQL編程問題/56
2.6.1 數(shù)字輔助表/56
2.6.2 連續(xù)范圍問題/58
2.7 字符類型/60
2.7.1 字符集/60
2.7.2 排序規(guī)則/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 小結(jié)/75
第3章 查詢處理/76
3.1 邏輯查詢處理/77
3.1.1 執(zhí)行笛卡兒積/79
3.1.2 應(yīng)用ON過濾器/80
3.1.3 添加外部行/83
3.1.4 應(yīng)用WHERE過濾器/84
3.1.5 分組/85
3.1.6 應(yīng)用ROLLUP或CUBE/86
3.1.7 應(yīng)用HAVING過濾器/86
3.1.8 處理SELECT列表/87
3.1.9 應(yīng)用DISTINCT子句/87
3.1.10 應(yīng)用ORDER BY子句/88
3.1.11 LIMIT子句/92
3.2 物理查詢處理/93
3.3 小結(jié)/95
第4章 子查詢/96
4.1 子查詢概述/97
4.1.1 子查詢的優(yōu)點和限制/97
4.1.2 使用子查詢進行比較/97
4.1.3 使用ANY、IN和SOME進行子查詢/98
4.1.4 使用ALL進行子查詢/99
4.2 獨立子查詢/99
4.3 相關(guān)子查詢/105
4.4 EXISTS謂詞/109
4.4.1 EXISTS /109
4.4.2 NOT EXISTS/111
4.5 派生表/113
4.6 子查詢可以解決的經(jīng)典問題/114
4.6.1 行號/114
4.6.2 分區(qū)/118
4.6.3 最小缺失值問題/121
4.6.4 缺失范圍和連續(xù)范圍/122
4.7 MariaDB對SEMI JOIN的優(yōu)化/126
4.7.1 概述/126
4.7.2 Table Pullout優(yōu)化/127
4.7.3 Duplicate Weedout 優(yōu)化/128
4.7.4 Materialization優(yōu)化/129
4.8 小結(jié)/130
第5章 聯(lián)接與集合操作/132
5.1 聯(lián)接查詢/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 其他聯(lián)接分類/142
5.2.1 SELF JOIN/143
5.2.2 NONEQUI JOIN/144
5.2.3 SEMI JOIN和ANTI SEMI JOIN/145
5.3 多表聯(lián)接/146
5.4 滑動訂單問題/148
5.5 聯(lián)接算法/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 小結(jié)/171
第6章 聚合和旋轉(zhuǎn)操作/172
6.1 聚合 /173
6.1.1 聚合函數(shù)/173
6.1.2 聚合的算法/174
6.2 附加屬性聚合/176
6.3 連續(xù)聚合/178
6.3.1 累積聚合/179
6.3.2 滑動聚合/183
6.3.3 年初至今聚合/184
6.4 Pivoting/185
6.4.1 開放架構(gòu)/185
6.4.2 關(guān)系除法/187
6.4.3 格式化聚合數(shù)據(jù)/189
6.5 Unpivoting/191
6.6 CUBE 和 ROLLUP/193
6.6.1 ROLLUP/193
6.6.2 CUBE/196
6.7 小結(jié)/197
第7章 游標/198
7.1 面向集合與面向過程的開發(fā)/199
7.2 游標的使用/199
7.3 游標的開銷/200
7.4 使用游標解決問題/202
7.4.1 游標的性能分析/202
7.4.2 連續(xù)聚合/203
7.4.3 最大會話數(shù)/206
7.5 小結(jié)/210
第8章 事務(wù)編程/211
8.1 事務(wù)概述/212
8.2 事務(wù)的分類/214
8.3 事務(wù)控制語句/219
8.4 隱式提交的SQL語句/224
8.5 事務(wù)的隔離級別/225
8.6 分布式事務(wù)編程/229
8.7 不好的事務(wù)編程習慣/234
8.7.1 在循環(huán)中提交/234
8.7.2 使用自動提交/236
8.7.3 使用自動回滾/236
8.8 長事務(wù)/239
8.9 小結(jié)/240
第9章 索引/242
9.1 緩沖池、順序讀取與隨機讀取/243
9.2 數(shù)據(jù)結(jié)構(gòu)與算法/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存儲引擎怎樣統(tǒng)計Cardinality/257
9.6 B+樹索引的使用/259
9.6.1 不同應(yīng)用中B+樹索引的使用/259
9.6.2 聯(lián)合索引/260
9.6.3 覆蓋索引/262
9.6.4 優(yōu)化器選擇不使用索引的情況/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樹的旋轉(zhuǎn)/273
9.10 哈希索引/276
9.10.1 散列表/276
9.10.2 InnoDB存儲引擎中的散列算法/278
9.10.3 自適應(yīng)哈希索引/278
9.11 小結(jié)/279
第10章 分區(qū)/280
10.1 分區(qū)概述/281
10.2 分區(qū)類型/283
10.2.1 RANGE分區(qū)/283
10.2.2 LIST分區(qū)/289
10.2.3 HASH分區(qū)/291
10.2.4 KEY分區(qū)/293
10.2.5 COLUMNS分區(qū)/293
10.3 子分區(qū)/295
10.4 分區(qū)中的NULL值/298
10.5 分區(qū)和性能/301
10.6 在表和分區(qū)間交換數(shù)據(jù)/305
10.7 小結(jié)/307 

本目錄推薦

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