《MySQL技術(shù)內(nèi)幕:InnoDB存儲(chǔ)引擎》是國(guó)內(nèi)目前唯一的一本關(guān)于InnoDB的著作,由資深MySQL專家親自執(zhí)筆,中外數(shù)據(jù)庫(kù)專家聯(lián)袂推薦,權(quán)威性毋庸置疑。內(nèi)容深入,從源代碼的角度深度解析了InnoDB的體系結(jié)構(gòu)、實(shí)現(xiàn)原理、工作機(jī)制,并給出了大量最佳實(shí)踐,能幫助你系統(tǒng)而深入地掌握InnoDB,更重要的是,它能為你設(shè)計(jì)和管理高性能、高可用的數(shù)據(jù)庫(kù)系統(tǒng)提供絕佳的指導(dǎo)。注重實(shí)戰(zhàn),全書輔有大量的案例,可操作性極強(qiáng)。
全書首先全景式地介紹了MySQL獨(dú)有的插件式存儲(chǔ)引擎,分析了MySQL的各種存儲(chǔ)引擎的優(yōu)勢(shì)和應(yīng)用環(huán)境。接著以InnoDB的內(nèi)部實(shí)現(xiàn)為切入點(diǎn),逐一詳細(xì)講解了InnoDB存儲(chǔ)引擎內(nèi)部的各個(gè)功能模塊,包括InnoDB存儲(chǔ)引擎的體系結(jié)構(gòu)、內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)、基于InnoDB存儲(chǔ)引擎的表和頁(yè)的物理存儲(chǔ)、索引與算法、文件、鎖、事務(wù)、備份,以及InnoDB的性能調(diào)優(yōu)等重要的知識(shí),最后深入解析了InnoDB存儲(chǔ)引擎的源代碼結(jié)構(gòu),對(duì)大家閱讀和理解InnoDB的源代碼有重要的指導(dǎo)意義。
《MySQL技術(shù)內(nèi)幕:InnoDB存儲(chǔ)引擎》適合所有希望構(gòu)建和管理高性能、高可用性的MySQL數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā)者和DBA閱讀。
本書不是一本面向應(yīng)用的數(shù)據(jù)庫(kù)類書籍,也不是一本參考手冊(cè),更不會(huì)教你如何在MySQL中使用SQL語(yǔ)句。本書面向那些使用MySQL InnoDB存儲(chǔ)引擎作為數(shù)據(jù)庫(kù)后端開發(fā)應(yīng)用程序的開發(fā)者和有一定經(jīng)驗(yàn)的MySQL DBA。書中的大部分例子都是用SQL語(yǔ)句來(lái)展示關(guān)鍵特性的,如果想通過(guò)本書來(lái)了解如何啟動(dòng)MySQL,如何配置Replication環(huán)境,可能并不能如愿。不過(guò),通過(guò)本書,你將理解InnoDB存儲(chǔ)引擎是如何工作的,它的關(guān)鍵特性的功能和作用是什么,以及如何正確地配置和使用這些特性。
如果想更好地使用InnoDB存儲(chǔ)引擎,如果想讓你的數(shù)據(jù)庫(kù)應(yīng)用獲得更好的性能,就請(qǐng)閱讀本書。從某種程度上講,技術(shù)經(jīng)理或總監(jiān)也要非常了解數(shù)據(jù)庫(kù),要知道數(shù)據(jù)庫(kù)對(duì)于企業(yè)的重要性。如果技術(shù)經(jīng)理或總監(jiān)想安排員工參加MySQL數(shù)據(jù)庫(kù)技術(shù)方面的培訓(xùn),完全可以利用本書來(lái)“充電”,相信你一定不會(huì)失望的。
MySQL技術(shù)內(nèi)幕:InnoDB存儲(chǔ)引擎目錄:
推薦序
前言
致謝
第1章 mysql體系結(jié)構(gòu)和存儲(chǔ)引擎
1.1 定義數(shù)據(jù)庫(kù)和實(shí)例
1.2.mysql體系結(jié)構(gòu)
1.3 mysql表存儲(chǔ)引擎
1.3.1 innodb存儲(chǔ)引擎
1.3.2 mylsam存儲(chǔ)引擎,
1.3.3 ndb存儲(chǔ)引擎
1.3.4 memory存儲(chǔ)引擎
1.3.5 archive存儲(chǔ)引擎
1.3.6 federated存儲(chǔ)引擎
1.3.7 maria存儲(chǔ)引擎
1.3.8 其他存儲(chǔ)引擎
1.4 各種存儲(chǔ)引擎之間的比較
1.5 連接mysql
1.5.1 tcp/ip
1.5.2 命名管道和共享內(nèi)存
1.5.3 unix域套接宇
.1.6 小結(jié)
第2章 innodb存儲(chǔ)引擎
2.1.innodb存儲(chǔ)引擎概述
2.2 innodb體系架構(gòu)
2.2.1 后臺(tái)線程
2.2.2 內(nèi)存
2.3 masteithread
2.3.1 masterthread源碼分析
2.3.2 masterthread的潛在問(wèn)題
2.4 關(guān)鍵特性
2.4.1 插入緩沖
2.4.2 兩次寫
2.4.3 自適應(yīng)哈希索引
2.5 啟動(dòng)、關(guān)閉與恢復(fù)
2.6 innodbplugin:新版本的innodb存儲(chǔ)
引擎
2.7 小結(jié)
第3章 文件
3.1 參數(shù)文件
3.1.1 什么是參數(shù)
3.1.2 參數(shù)類型
3.2 日志文件
3.2.1 錯(cuò)誤日志
3.2.2 慢查詢?nèi)罩?br />3.2.3 查詢?nèi)罩?br />3.2.4 二進(jìn)制日志
3.3 套接字文件
3.4 pid文件
3.5 表結(jié)構(gòu)定義文件
3.6 innodb存儲(chǔ)引擎文件
3.6.1 表空間文件
3.6.2 重做日志文件
3.7 小結(jié)
第4章 表
4.1 innodb存儲(chǔ)引擎表類型
4.2 innodb邏輯存儲(chǔ)結(jié)構(gòu)
4.2.1 表空間
4.2.2 段
4.2.3 區(qū)
4.2.4 頁(yè)
4.2.5 行
4.3 innodb物理存儲(chǔ)結(jié)構(gòu)
4.4 innodb行記錄格式
4.4.1 compact行記錄格式
4.4.2 redundant行記錄格式
4.4.3 行溢出數(shù)據(jù)
4.4.4 compressed與dynamic行記錄格式
4.4.5 char的行結(jié)構(gòu)存儲(chǔ)
4.5 innodb數(shù)據(jù)頁(yè)結(jié)構(gòu)
4.5.1 fileheader
4.5.2 pageheader
4.5.3 infimum和supremum記錄
4.5.4 userrecords與freespace
4.5.5 pagedirectory
4.5.6 filenailei
4.5.7 innodb數(shù)據(jù)頁(yè)結(jié)構(gòu)示例分析
4.6 namedfileformats
4.7 約束
4.7.1 數(shù)據(jù)完整性
4.7.2 約束的創(chuàng)建和查找
4.7.3 約束和索引的區(qū)別
4.7.4 對(duì)于錯(cuò)誤數(shù)據(jù)的約束
4.7.5 enum和set約束
4.7.6 觸發(fā)器與約束
4.7.7 外鍵
4.8 視圖
4.8.1 視圖的作用
4.8.2 物化視圖
4.9 分區(qū)表
4.9.1 分區(qū)概述
4.9.2 range分區(qū)
4.9.3 list分區(qū)
4.9.4 hash分區(qū)
4.9.6 columns分區(qū)
4.9.7 子分區(qū)
4.9.8 分區(qū)中的null值
4.9.9 分區(qū)和性能
4.10 小結(jié)
第5章 索引與算法
5.1 innodb存儲(chǔ)引擎索引概述
5.2 二分查找法
5.3 平衡二叉樹
5.4 b+樹
5.4.1 b+樹的插入操作
5.4.2 b+樹的刪除操作
5.5 b+樹索引
5.5.1 聚集索引
5.5.2 輔助索引
5.5.3 b+樹索引的管理
5.6 b+樹索引的使用
5.6.1 什么時(shí)候使用b+樹索引
5.6.2 順序讀、隨機(jī)讀與預(yù)讀取
5.6.3 輔助索引的優(yōu)化使用
5.6.4 聯(lián)合索引
5.7 哈希算法
5.7.1 哈希表
5.7.2 innodb存儲(chǔ)引擎中的哈希算法
5.7.3 自適應(yīng)哈希索引
5.8 小結(jié)
第6章 鎖
6.1 什么是鎖
6.2 innodb存儲(chǔ)引擎中的鎖
6.2.1 鎖的類型
6.2.2 一致性的非鎖定讀操作
6.2.3 selectforupdp/te&selectlockinsharemode
6.2.4 自增長(zhǎng)和鎖
6.2.5 外鍵和鎖
6.3 鎖的算法
6.4 鎖問(wèn)題
6.4.1 丟失更新
6.4.2 臟讀
6.4.3 不可重復(fù)讀
6.5 阻塞
6.6 死鎖
6.7 鎖升級(jí)
6.8 小結(jié)
第7章 事務(wù)
7.1 事務(wù)概述
7.2 事務(wù)的實(shí)現(xiàn)
7.2.1 redo
7.2.2 undo
7.3 事務(wù)控制語(yǔ)句
7.4 隱式提交的sql語(yǔ)句
7.5 對(duì)于事務(wù)操作的統(tǒng)計(jì)
7.6 事務(wù)的隔離級(jí)別
7.7 分布式事務(wù)
7.8 不好的事務(wù)習(xí)慣
7.8.1 在循環(huán)中提交
7.8.2 使用自動(dòng)提交
7.8.3 使用自動(dòng)回滾
7.9 小結(jié)
第8章 備份與恢復(fù)
第9章 性能調(diào)優(yōu)
第10章 innodb存儲(chǔ)引擎源代碼的編譯