注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)數(shù)據(jù)庫SQL Sever深入理解MySQL

深入理解MySQL

深入理解MySQL

定 價:¥65.00

作 者: (美)貝爾 著,楊濤 等譯
出版社: 人民郵電出版社
叢編項: 圖靈程序設(shè)計叢書
標(biāo) 簽: SQL

ISBN: 9787115189103 出版時間: 2010-01-01 包裝: 平裝
開本: 16開 頁數(shù): 466 字?jǐn)?shù):  

內(nèi)容簡介

  《深入理解MySQL》深入源代碼,剖析了MySQL數(shù)據(jù)庫系統(tǒng)的架構(gòu),并提供了分析、集成和修改MySQL源代碼的專家級建議。《深入理解MySQL》分三個部分:第一部分介紹開發(fā)和修改開源系統(tǒng)的概念,提供探討更高級數(shù)據(jù)庫概念所需的工具和資源;第二部分討論MySQL系統(tǒng),闡明如何修改MySQL源碼,如何將MySQL系統(tǒng)作為嵌入式數(shù)據(jù)庫系統(tǒng);第三部分更深入地探討了MySQL系統(tǒng),講述數(shù)據(jù)庫工作的內(nèi)部機理?!渡钊肜斫釳ySQL》面向MySQL數(shù)據(jù)庫開發(fā)人員。

作者簡介

  Charles A.Bell MySQL核心開發(fā)人員,目前是Sun公司高級軟件工程師,同時也是弗吉尼亞聯(lián)邦大學(xué)的客座教授,主要是為研究生講授計算機科學(xué)課程。他主要從事新興技術(shù)的研究,研究方向包括數(shù)據(jù)庫系統(tǒng)、版本系統(tǒng)、語義網(wǎng)和敏捷軟件開發(fā)等。

圖書目錄

第一部分 MySQL開發(fā)入門
第1章 MySQL與開源運動 2
1.1 什么是開源軟件 2
1.1.1 為什么要使用開源軟件 4
1.1.2 開源軟件是否對商業(yè)軟件構(gòu)成真正的威脅 7
1.1.3 法律問題與《GNU宣言》 8
1.1.4 將開源進(jìn)行到底 10
1.2 用MySQL進(jìn)行開發(fā) 11
1.2.1 為什么修改MySQL 13
1.2.2 MySQL里哪些可以修改,有什么限制 14
1.2.3 MySQL的許可證問題 15
1.2.4 到底能否修改MySQL 16
1.2.5 修改MySQL的指導(dǎo)原則 17
1.3 實際的例子:TiVo 18
1.4 小結(jié) 19
第2章 數(shù)據(jù)庫系統(tǒng)剖析 20
2.1 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu) 20
2.2 數(shù)據(jù)庫系統(tǒng)的類型 20
2.2.1 面向?qū)ο髷?shù)據(jù)庫系統(tǒng) 20
2.2.2 對象關(guān)系數(shù)據(jù)庫系統(tǒng) 21
2.2.3 關(guān)系數(shù)據(jù)庫系統(tǒng) 23
2.3 關(guān)系數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu) 24
2.3.1 客戶端應(yīng)用程序 25
2.3.2 查詢接口 26
2.3.3 查詢處理 27
2.3.4 查詢優(yōu)化器 29
2.3.5 查詢的內(nèi)部表示 31
2.3.6 查詢的執(zhí)行 32
2.3.7 文件訪問 33
2.3.8 查詢結(jié)果 35
2.3.9 關(guān)系數(shù)據(jù)庫的體系結(jié)構(gòu)小結(jié) 35
2.4 MySQL數(shù)據(jù)庫系統(tǒng) 35
2.4.1 MySQL系統(tǒng)體系結(jié)構(gòu) 36
2.4.2 SQL接口 37
2.4.3 解析器 38
2.4.4 查詢優(yōu)化器 39
2.4.5 查詢的執(zhí)行 40
2.4.6 查詢緩存 40
2.4.7 緩存和緩沖區(qū) 42
2.4.8 通過插件式存儲引擎訪問文件 43
2.5 小結(jié) 50
第3章 MySQL源代碼 51
3.1 預(yù)備知識 51
3.1.1 了解許可證 51
3.1.2 獲得MySQL源代碼 52
3.2 MySQL源代碼 56
3.2.1 預(yù)備知識 57
3.2.2 main()函數(shù) 59
3.2.3 處理連接和創(chuàng)建線程 62
3.2.4 解析查詢 69
3.2.5 優(yōu)化查詢的準(zhǔn)備工作 75
3.2.6 優(yōu)化查詢 78
3.2.7 執(zhí)行查詢 80
3.2.8 輔助庫 82
3.2.9 重要的類和結(jié)構(gòu) 83
3.3 編程指導(dǎo) 88
3.3.1 總體指導(dǎo) 89
3.3.2 文檔 89
3.3.3 函數(shù)和參數(shù) 91
3.3.4 命名約定 92
3.3.5 分隔與縮進(jìn) 92
3.3.6 文檔工具 93
3.3.7 保持工作記錄的習(xí)慣 95
3.3.8 追蹤變化 95
3.4 第一次構(gòu)建系統(tǒng) 97
3.5 小結(jié) 100
第4章 測試驅(qū)動的MySQL開發(fā) 101
4.1 背景知識 101
4.1.1 為什么要測試 101
4.1.2 基準(zhǔn)測試 103
4.1.3 性能分析 105
4.1.4 軟件測試簡介 107
4.1.5 功能測試與缺陷測試 107
4.2 MySQL測試 111
4.2.1 MySQL Test Suite 111
4.2.2 MySQL基準(zhǔn)測試 119
4.2.3 MySQL性能分析 124
4.3 小結(jié) 126
第二部分 擴展MySQL
第5章 調(diào)試 128
5.1 調(diào)試介紹 128
5.2 調(diào)試技術(shù) 129
5.2.1 基本過程 129
5.2.2 內(nèi)嵌調(diào)試語句 131
5.2.3 出錯處理器 134
5.2.4 外部調(diào)試器 135
5.3 調(diào)試MySQL 142
5.3.1 內(nèi)嵌調(diào)試語句 143
5.3.2 出錯處理器 148
5.3.3 在Linux環(huán)境里調(diào)試MySQL 148
5.3.4 在Windows環(huán)境里調(diào)試MySQL 157
5.4 小結(jié) 161
第6章 嵌入式MySQL 162
6.1 構(gòu)建嵌入式應(yīng)用 162
6.1.1 什么是嵌入式系統(tǒng) 162
6.1.2 嵌入式系統(tǒng)的種類 163
6.1.3 嵌入式數(shù)據(jù)庫系統(tǒng) 163
6.2 嵌入MySQL 164
6.2.1 嵌入MySQL的方法 165
6.2.2 資源要求 167
6.2.3 安全問題 167
6.2.4 嵌入MySQL的優(yōu)點 167
6.2.5 嵌入MySQL的局限性 168
6.3 MySQL C API 168
6.3.1 預(yù)備知識 168
6.3.2 最常用的函數(shù) 169
6.3.3 創(chuàng)建嵌入式服務(wù)器 170
6.3.4 對服務(wù)器進(jìn)行初始化 171
6.3.5 設(shè)置選項 172
6.3.6 連接到服務(wù)器 172
6.3.7 運行查詢命令 173
6.3.8 檢索查詢結(jié)果 174
6.3.9 清理 175
6.3.10 與服務(wù)器斷開連接并關(guān)閉服務(wù)器 175
6.3.11 匯總 175
6.3.12 出錯處理 177
6.4 構(gòu)建嵌入式MySQL應(yīng)用程序 177
6.4.1 編譯libmysqld庫 177
6.4.2 調(diào)試問題如何解決 178
6.4.3 數(shù)據(jù)問題如何解決 180
6.4.4 創(chuàng)建基本的嵌入式服務(wù)器 180
6.4.5 出錯處理問題如何解決 189
6.4.6 嵌入式服務(wù)器應(yīng)用程序 189
6.5 小結(jié) 214
第7章 創(chuàng)建自己的存儲引擎 215
7.1 MySQL插件式存儲引擎概述 215
7.1.1 基本過程 217
7.1.2 需要用到的源文件 218
7.1.3 其他輔助資源 218
7.1.4 handlerton類 218
7.1.5 handler類 221
7.1.6 對MySQL存儲引擎的簡要分析 225
7.2 Spartan存儲引擎 226
7.2.1 底層I/O類 227
7.2.2 預(yù)備知識 250
7.2.3 階段1:生成引擎存根 251
7.2.4 階段2:處理表 262
7.2.5 階段3:數(shù)據(jù)的讀/寫 269
7.2.6 階段4:數(shù)據(jù)的更新和刪除 273
7.2.7 階段5:數(shù)據(jù)的索引 280
7.2.8 階段6:添加事務(wù)支持 299
7.3 小結(jié) 303
第8章 為MySQL添加函數(shù)和命令 305
8.1 添加用戶定義函數(shù) 305
8.1.1 CREATE FUNCTION命令的語法 305
8.1.2 DROP FUNCTION命令的語法 306
8.1.3 創(chuàng)建用戶定義庫 306
8.1.4 添加新的用戶定義函數(shù) 311
8.2 添加本機函數(shù) 315
8.2.1 在Windows平臺上生成詞法散列表 318
8.2.2 在Linux平臺上生成詞法散列表 318
8.2.3 編譯和測試新的本機函數(shù) 318
8.3 添加SQL命令 319
8.4 添加到信息模式 327
8.5 小結(jié) 333
第三部分 高級數(shù)據(jù)庫的內(nèi)部組成
第9章 數(shù)據(jù)庫系統(tǒng)的內(nèi)部組成 336
9.1 查詢執(zhí)行 336
9.1.1 重溫MySQL查詢執(zhí)行 336
9.1.2 什么是已編譯查詢 337
9.2 深入MySQL的內(nèi)部 337
9.2.1 開始用MySQL做實驗 338
9.2.2 注意事項 340
9.3 數(shù)據(jù)庫系統(tǒng)內(nèi)部組成實驗 340
9.3.1 為什么叫實驗 341
9.3.2 實驗項目概述 341
9.3.3 實驗項目的組成部分 342
9.3.4 在Linux平臺上進(jìn)行實驗 343
9.3.5 在Windows平臺上進(jìn)行實驗 343
9.4 小結(jié) 343
第10章 內(nèi)部查詢表示 344
10.1 查詢樹 344
10.1.1 查詢轉(zhuǎn)換 346
10.1.2 DBXP查詢樹 347
10.2 在MySQL里實現(xiàn)DBXP查詢樹 348
10.2.1 被添加和修改的文件 349
10.2.2 創(chuàng)建測試 349
10.2.3 為SELECT DBXP命令生成存根 350
10.2.4 添加查詢樹類 357
10.2.5 顯示查詢樹的細(xì)節(jié) 366
10.3 小結(jié) 373
第11章 查詢優(yōu)化 374
11.1 查詢優(yōu)化器的類型 374
11.1.1 基于開銷的優(yōu)化器 375
11.1.2 啟發(fā)式優(yōu)化器 377
11.1.3 語義優(yōu)化器 377
11.1.4 參數(shù)優(yōu)化器 378
11.2 再次討論啟發(fā)式優(yōu)化 378
11.3 DBXP查詢優(yōu)化器 379
11.3.1 測試設(shè)計 379
11.3.2 為SELECT DBXP命令生成存根 380
11.3.3 重要的MySQL結(jié)構(gòu)和類 382
11.3.4 DBXP輔助類 385
11.3.5 修改現(xiàn)有代碼 386
11.3.6 啟發(fā)式優(yōu)化器的細(xì)節(jié) 390
11.3.7 代碼的編譯和測試 413
11.4 小結(jié) 417
第12章 查詢執(zhí)行 418
12.1 回顧查詢執(zhí)行 418
12.1.1 投影 418
12.1.2 限制 419
12.1.3 聯(lián)結(jié) 419
12.2 DBXP查詢執(zhí)行 429
12.2.1 測試的設(shè)計 430
12.2.2 更新SELECT DBXP命令 431
12.2.3 DBXP算法 433
12.2.4 代碼的編譯和測試 454
12.3 小結(jié) 457
附錄 459

本目錄推薦

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