人民幣定價:69 元
定價
:NT$ 414 元優惠價
:
87 折 360 元
絕版無法訂購
商品簡介
作者簡介
名人/編輯推薦
目次
商品簡介
《MySQL技術內幕:SQL編程》是暢銷書《MySQL技術內幕:InnoDB存儲引擎》的姊妹篇,深刻揭示了MySQL中SQL編程的精髓與奧秘,能為開發者和DBA們利用SQL語言解決各種與開發和管理相關的MySQL難題提供很好的指導和幫助。
《MySQL技術內幕:SQL編程》一共10章,全面探討了MySQL中SQL編程的各種方法、技巧與最佳實踐。第1章首先介紹了SQL編程的概念、數據庫的應用類型以及SQL查詢分析器,然後介紹了SQL編程的三個階段,希望讀者通過本書的學習能達到最後的融合階段。第2章全面講解了MySQL中的各種數據類型和與之相對應的各種編程問題。第3章深入探討了邏輯查詢與物理查詢的原理與方法。第4章的主題是子查詢,不僅講解了各種常用的子查詢方法及其優化,而且還講解了MariaDB對子查詢的優化。第5章首先詳細地分析了MySQL中的各種聯接及其內部的實現算法,以及MariaDB數據庫中引入的HashJoin,然後針對關于集合的各種操作給出了解決方案。第6章分享了聚合和旋轉操作的方法與技巧,并對一些經典的常見問題給出了解決方案。第7章深入闡述了游標的使用,重點在于如何通過正確地使用游標來提高SQL編程的效率。第8章講解了關于事務的各種編程技巧,同時對事務的分類進行了詳細闡述。第9章詳細分析了各種索引的內部實現,探討了如何使用索引來提升查詢效率。第10章介紹了分區的方法與技巧,闡明了如何通過分區來進行SQL編程。
無論你是開發人員還是DBA,無論你是需要一本SQL查詢手冊還是希望系統深入地學習SQL編程,本書都會是不錯的選擇。
《MySQL技術內幕:SQL編程》一共10章,全面探討了MySQL中SQL編程的各種方法、技巧與最佳實踐。第1章首先介紹了SQL編程的概念、數據庫的應用類型以及SQL查詢分析器,然後介紹了SQL編程的三個階段,希望讀者通過本書的學習能達到最後的融合階段。第2章全面講解了MySQL中的各種數據類型和與之相對應的各種編程問題。第3章深入探討了邏輯查詢與物理查詢的原理與方法。第4章的主題是子查詢,不僅講解了各種常用的子查詢方法及其優化,而且還講解了MariaDB對子查詢的優化。第5章首先詳細地分析了MySQL中的各種聯接及其內部的實現算法,以及MariaDB數據庫中引入的HashJoin,然後針對關于集合的各種操作給出了解決方案。第6章分享了聚合和旋轉操作的方法與技巧,并對一些經典的常見問題給出了解決方案。第7章深入闡述了游標的使用,重點在于如何通過正確地使用游標來提高SQL編程的效率。第8章講解了關于事務的各種編程技巧,同時對事務的分類進行了詳細闡述。第9章詳細分析了各種索引的內部實現,探討了如何使用索引來提升查詢效率。第10章介紹了分區的方法與技巧,闡明了如何通過分區來進行SQL編程。
無論你是開發人員還是DBA,無論你是需要一本SQL查詢手冊還是希望系統深入地學習SQL編程,本書都會是不錯的選擇。
作者簡介
姜承堯(DavidJiang),資深MySQL數據庫專家,MySQL開源分支版本InnoSQL的創始人,獨立數據庫咨詢顧問。不僅擅長于數據庫的管理和維護,還擅長于數據庫的開發,同時一直致力于MySQL數據庫底層實現原理的研究和探索,對高性能數據庫和數據倉庫也有深刻而獨到的理解。目前就職于網易研究院,擔任後臺技術中心技術經理一職,從事MySQL數據庫底層以及云的相關的開發工作。曾領導并參與了多個大型核心數據庫應用的設計、實施、管理和維護,實戰經驗非常豐富。活躍于開源數據庫和開源軟件領域,是著名開源社區ChinaUnixMySQL版塊的版主,熱衷于分享MySQL數據庫的各種成功應用實踐。
名人/編輯推薦
網易CEO丁磊隆重推薦:本書系統深入地講解了MySQL數據庫中SQL編程的各種方法、技巧和最佳實踐,推薦DBA和開發人員參閱!
暢銷書《MySQL技術內幕:InnoDB存儲引擎》姊妹篇,揭示SQL編程的奧秘,演繹SQL編程之美
資深MySQL專家親自執筆,多個技術社區和多位數據庫專家聯袂推薦
暢銷書《MySQL技術內幕:InnoDB存儲引擎》姊妹篇,揭示SQL編程的奧秘,演繹SQL編程之美
資深MySQL專家親自執筆,多個技術社區和多位數據庫專家聯袂推薦
目次
序
前言
第1章 SQL編程
1.1 MySQL數據庫
1.1.1 MySQL數據庫歷史
1.1.2 MySQL數據庫的分支版本
1.2 SQL編程
1.3 數據庫的應用類型
1.3.1 OLTP
1.3.2 OLAP
1.3.3 OLTP與OLAP的比較
1.3.4 MySQL存儲引擎及其面向的數據庫應用
1.4 圖形化的SQL查詢分析器
1.4.1 MySQL Workbench
1.4.2 Toad for MySQL
1.4.3 iMySQL-Front
1.5 小結
第2章 數據類型
2.1 類型屬性
2.1.1 UNSIGNED
2.1.2 ZEROFILL
2.2 SQL_MODE設置
2.3 日期和時間類型
2.3.1 DATETIME和 DATE
2.3.2 TIMESTAMP
2.3.3 YEAR和TIME
2.3.4 與日期和時間相關的函數1
2.4 關于日期的經典SQL編程問題
2.4.1 生日問題
2.4.2 重疊問題
2.4.3 星期數的問題
2.5 數字類型
2.5.1 整型
2.5.2 浮點型(非精確類型)
2.5.3 高精度類型
2.5.4 位類型
2.6 關于數字的經典SQL編程問題
2.6.1 數字輔助表
2.6.2 連續范圍問題
2.7 字符類型
2.7.1 字符集
2.7.2 排序規則
2.7.3 CHAR和VARCHAR
2.7.4 BINARY和VARBINARY
2.7.5 BLOB和TEXT
2.7.6 ENUM和SET類型
2.8 小結
第3章 查詢處理
3.1 邏輯查詢處理
3.1.1 執行笛卡兒積
3.1.2 應用ON過濾器
3.1.3 添加外部行
3.1.4 應用WHERE過濾器
3.1.5 分組
3.1.6 應用ROLLUP或CUBE
3.1.7 應用HAVING過濾器
3.1.8 處理SELECT列表
3.1.9 應用DISTINCT子句
3.1.10 應用ORDER BY子句
3.1.11 LIMIT子句
3.2 物理查詢處理
3.3 小結
第4章 子查詢
4.1 子查詢概述
4.1.1 子查詢的優點和限制
4.1.2 使用子查詢進行比較
4.1.3 使用ANY、IN和SOME進行子查詢
4.1.4 使用ALL進行子查詢
4.2 獨立子查詢
4.3 相關子查詢
4.4 EXISTS謂詞
4.4.1 EXISTS
4.4.2 NOT EXISTS
4.5 派生表
4.6 子查詢可以解決的經典問題
4.6.1 行號
4.6.2 分區
4.6.3 最小缺失值問題
4.6.4 缺失范圍和連續范圍
4.7 MariaDB對SEMI JOIN的優化
4.7.1 概述
4.7.2 Table Pullout優化
4.7.3 Duplicate Weedout 優化
4.7.4 Materialization優化
4.8 小結
第5章 聯接與集合操作
5.1 聯接查詢
5.1.1 新舊查詢語法
5.1.2 CROSS JOIN
5.1.3 INNER JOIN
5.1.4 OUTER JOIN
5.1.5 NATURAL JOIN
5.1.6 STRAIGHT_JOIN
5.2 其他聯接分類
5.2.1 SELF JOIN
5.2.2 NONEQUI JOIN
5.2.3 SEMI JOIN和ANTI SEMI JOIN
5.3 多表聯接
5.4 滑動訂單問題
5.5 聯接算法
5.5.1 Simple Nested-Loops Join算法
5.5.2 Block Nested-Loops Join算法
5.5.3 Batched Key Access Join算法
5.5.4 Classic Hash Join算法
5.6 集合操作
5.6.1 集合操作的概述
5.6.2 UNION DISTINCT和UNION ALL
5.6.3 EXCEPT
5.6.4 INTERSECT
5.7 小結
第6章 聚合和旋轉操作
6.1 聚合
6.1.1 聚合函數
6.1.2 聚合的算法
6.2 附加屬性聚合
6.3 連續聚合
6.3.1 累積聚合
6.3.2 滑動聚合
6.3.3 年初至今聚合
6.4 Pivoting
6.4.1 開放架構
6.4.2 關系除法
6.4.3 格式化聚合數據
6.5 Unpivoting
6.6 CUBE 和 ROLLUP
6.6.1 ROLLUP
6.6.2 CUBE
6.7 小結
第7章 游標
7.1 面向集合與面向過程的開發
7.2 游標的使用
7.3 游標的開銷
7.4 使用游標解決問題
7.4.1 游標的性能分析
7.4.2 連續聚合
7.4.3 最大會話數
7.5 小結
第8章 事務編程
8.1 事務概述
8.2 事務的分類
8.3 事務控制語句
8.4 隱式提交的SQL語句
8.5 事務的隔離級別
8.6 分布式事務編程
8.7 不好的事務編程習慣
8.7.1 在循環中提交
8.7.2 使用自動提交
8.7.3 使用自動回滾
8.8 長事務
8.9 小結
第9章 索引
9.1 緩沖池、順序讀取與隨機讀取
9.2 數據結構與算法
9.2.1 二分查找法
9.2.2 二叉查找樹和平衡二叉樹
9.3 B+樹
9.3.1 B+樹的插入操作
9.3.2 B+樹的刪除操作
9.4 B+樹索引
9.4.1 InnoDB B+樹索引
9.4.2 MyISAM B+樹索引
9.5 Cardinality
9.5.1 什么是Cardinality
9.5.2 InnoDB存儲引擎怎樣統計Cardinality
9.6 B+樹索引的使用
9.6.1 不同應用中B+樹索引的使用
9.6.2 聯合索引
9.6.3 覆蓋索引
9.6.4 優化器選擇不使用索引的情況
9.6.5 INDEX HINT
9.7 Multi-Range Read
9.8 Index Condition Pushdown
9.9 T樹索引
9.9.1 T樹概述
9.9.2 T樹的查找、插入和刪除操作
9.9.3 T樹的旋轉
9.10 哈希索引
9.10.1 散列表
9.10.2 InnoDB存儲引擎中的散列算法
9.10.3 自適應哈希索引
9.11 小結
第10章 分區
10.1 分區概述
10.2 分區類型
10.2.1 RANGE分區
10.2.2 LIST分區
10.2.3 HASH分區
10.2.4 KEY分區
10.2.5 COLUMNS分區
10.3 子分區
10.4 分區中的NULL值
10.5 分區和性能
10.6 在表和分區間交換數據
10.7 小結
前言
第1章 SQL編程
1.1 MySQL數據庫
1.1.1 MySQL數據庫歷史
1.1.2 MySQL數據庫的分支版本
1.2 SQL編程
1.3 數據庫的應用類型
1.3.1 OLTP
1.3.2 OLAP
1.3.3 OLTP與OLAP的比較
1.3.4 MySQL存儲引擎及其面向的數據庫應用
1.4 圖形化的SQL查詢分析器
1.4.1 MySQL Workbench
1.4.2 Toad for MySQL
1.4.3 iMySQL-Front
1.5 小結
第2章 數據類型
2.1 類型屬性
2.1.1 UNSIGNED
2.1.2 ZEROFILL
2.2 SQL_MODE設置
2.3 日期和時間類型
2.3.1 DATETIME和 DATE
2.3.2 TIMESTAMP
2.3.3 YEAR和TIME
2.3.4 與日期和時間相關的函數1
2.4 關于日期的經典SQL編程問題
2.4.1 生日問題
2.4.2 重疊問題
2.4.3 星期數的問題
2.5 數字類型
2.5.1 整型
2.5.2 浮點型(非精確類型)
2.5.3 高精度類型
2.5.4 位類型
2.6 關于數字的經典SQL編程問題
2.6.1 數字輔助表
2.6.2 連續范圍問題
2.7 字符類型
2.7.1 字符集
2.7.2 排序規則
2.7.3 CHAR和VARCHAR
2.7.4 BINARY和VARBINARY
2.7.5 BLOB和TEXT
2.7.6 ENUM和SET類型
2.8 小結
第3章 查詢處理
3.1 邏輯查詢處理
3.1.1 執行笛卡兒積
3.1.2 應用ON過濾器
3.1.3 添加外部行
3.1.4 應用WHERE過濾器
3.1.5 分組
3.1.6 應用ROLLUP或CUBE
3.1.7 應用HAVING過濾器
3.1.8 處理SELECT列表
3.1.9 應用DISTINCT子句
3.1.10 應用ORDER BY子句
3.1.11 LIMIT子句
3.2 物理查詢處理
3.3 小結
第4章 子查詢
4.1 子查詢概述
4.1.1 子查詢的優點和限制
4.1.2 使用子查詢進行比較
4.1.3 使用ANY、IN和SOME進行子查詢
4.1.4 使用ALL進行子查詢
4.2 獨立子查詢
4.3 相關子查詢
4.4 EXISTS謂詞
4.4.1 EXISTS
4.4.2 NOT EXISTS
4.5 派生表
4.6 子查詢可以解決的經典問題
4.6.1 行號
4.6.2 分區
4.6.3 最小缺失值問題
4.6.4 缺失范圍和連續范圍
4.7 MariaDB對SEMI JOIN的優化
4.7.1 概述
4.7.2 Table Pullout優化
4.7.3 Duplicate Weedout 優化
4.7.4 Materialization優化
4.8 小結
第5章 聯接與集合操作
5.1 聯接查詢
5.1.1 新舊查詢語法
5.1.2 CROSS JOIN
5.1.3 INNER JOIN
5.1.4 OUTER JOIN
5.1.5 NATURAL JOIN
5.1.6 STRAIGHT_JOIN
5.2 其他聯接分類
5.2.1 SELF JOIN
5.2.2 NONEQUI JOIN
5.2.3 SEMI JOIN和ANTI SEMI JOIN
5.3 多表聯接
5.4 滑動訂單問題
5.5 聯接算法
5.5.1 Simple Nested-Loops Join算法
5.5.2 Block Nested-Loops Join算法
5.5.3 Batched Key Access Join算法
5.5.4 Classic Hash Join算法
5.6 集合操作
5.6.1 集合操作的概述
5.6.2 UNION DISTINCT和UNION ALL
5.6.3 EXCEPT
5.6.4 INTERSECT
5.7 小結
第6章 聚合和旋轉操作
6.1 聚合
6.1.1 聚合函數
6.1.2 聚合的算法
6.2 附加屬性聚合
6.3 連續聚合
6.3.1 累積聚合
6.3.2 滑動聚合
6.3.3 年初至今聚合
6.4 Pivoting
6.4.1 開放架構
6.4.2 關系除法
6.4.3 格式化聚合數據
6.5 Unpivoting
6.6 CUBE 和 ROLLUP
6.6.1 ROLLUP
6.6.2 CUBE
6.7 小結
第7章 游標
7.1 面向集合與面向過程的開發
7.2 游標的使用
7.3 游標的開銷
7.4 使用游標解決問題
7.4.1 游標的性能分析
7.4.2 連續聚合
7.4.3 最大會話數
7.5 小結
第8章 事務編程
8.1 事務概述
8.2 事務的分類
8.3 事務控制語句
8.4 隱式提交的SQL語句
8.5 事務的隔離級別
8.6 分布式事務編程
8.7 不好的事務編程習慣
8.7.1 在循環中提交
8.7.2 使用自動提交
8.7.3 使用自動回滾
8.8 長事務
8.9 小結
第9章 索引
9.1 緩沖池、順序讀取與隨機讀取
9.2 數據結構與算法
9.2.1 二分查找法
9.2.2 二叉查找樹和平衡二叉樹
9.3 B+樹
9.3.1 B+樹的插入操作
9.3.2 B+樹的刪除操作
9.4 B+樹索引
9.4.1 InnoDB B+樹索引
9.4.2 MyISAM B+樹索引
9.5 Cardinality
9.5.1 什么是Cardinality
9.5.2 InnoDB存儲引擎怎樣統計Cardinality
9.6 B+樹索引的使用
9.6.1 不同應用中B+樹索引的使用
9.6.2 聯合索引
9.6.3 覆蓋索引
9.6.4 優化器選擇不使用索引的情況
9.6.5 INDEX HINT
9.7 Multi-Range Read
9.8 Index Condition Pushdown
9.9 T樹索引
9.9.1 T樹概述
9.9.2 T樹的查找、插入和刪除操作
9.9.3 T樹的旋轉
9.10 哈希索引
9.10.1 散列表
9.10.2 InnoDB存儲引擎中的散列算法
9.10.3 自適應哈希索引
9.11 小結
第10章 分區
10.1 分區概述
10.2 分區類型
10.2.1 RANGE分區
10.2.2 LIST分區
10.2.3 HASH分區
10.2.4 KEY分區
10.2.5 COLUMNS分區
10.3 子分區
10.4 分區中的NULL值
10.5 分區和性能
10.6 在表和分區間交換數據
10.7 小結
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

