深入理解MySQL
1推荐 收藏
7.4K阅读
图灵程序设计丛书

深入理解MySQL

终止销售
本书深入源代码,剖析了 MySQL数据库系统的架构,并提供了分析、集成和修改 MySQL源代码的专家级建议。本书分三个部分:第一部分介绍开发和修改开源系统的概念,提供探讨更高级数据库概念所需的工具和资源;第二部分讨论 MySQL系统,阐明如何修改 MySQL源码,如何将 MySQL系统作为嵌入式数据库系统;第三部分更深入地探讨了 MySQL系统,讲述数据库工作的内部机理。
本书面向 MySQL数据库开发人员。

收藏本书能做什么?

有情况的时候会收到通知,比如电子书发布等。

PS:也会在图灵社区电报频道更新

纸质书
¥65.00

其他购买方式?

出版信息

  • 书  名深入理解MySQL
  • 系列书名图灵程序设计丛书
  • 执行编辑关于本书的内容有任何问题,请联系 傅志红
  • 出版日期2009-12-25
  • 书  号978-7-115-18910-3
  • 定  价65.00 元
  • 页  数480
  • 开  本16开
  • 出版状态终止销售
  • 原书名Expert MySQL
  • 原书号1-59059-741-9

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

目录

第一部分 MySQL开发入门
第1章 MySQL与开源运动    2
1.1 什么是开源软件    2
1.1.1 为什么要使用开源软件    4
1.1.2 开源软件是否对商业软件构成真正的威胁    7
1.1.3 法律问题与《GNU宣言》    8
1.1.4 将开源进行到底    10
1.2 用MySQL进行开发    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的指导原则    17
1.3 实际的例子:TiVo    18
1.4 小结    19
第2章 数据库系统剖析    20
2.1 数据库系统的体系结构    20
2.2 数据库系统的类型    20
2.2.1 面向对象数据库系统    20
2.2.2 对象关系数据库系统    21
2.2.3 关系数据库系统    23
2.3 关系数据库系统的体系结构    24
2.3.1 客户端应用程序    25
2.3.2 查询接口    26
2.3.3 查询处理    27
2.3.4 查询优化器    29
2.3.5 查询的内部表示    31
2.3.6 查询的执行    32
2.3.7 文件访问    33
2.3.8 查询结果    35
2.3.9 关系数据库的体系结构小结    35
2.4 MySQL数据库系统    35
2.4.1 MySQL系统体系结构    36
2.4.2 SQL接口    37
2.4.3 解析器    38
2.4.4 查询优化器    39
2.4.5 查询的执行    40
2.4.6 查询缓存    40
2.4.7 缓存和缓冲区    42
2.4.8 通过插件式存储引擎访问文件    43
2.5 小结    50
第3章 MySQL源代码    51
3.1 预备知识    51
3.1.1 了解许可证    51
3.1.2 获得MySQL源代码    52
3.2 MySQL源代码    56
3.2.1 预备知识    57
3.2.2 main()函数    59
3.2.3 处理连接和创建线程    62
3.2.4 解析查询    69
3.2.5 优化查询的准备工作    75
3.2.6 优化查询    78
3.2.7 执行查询    80
3.2.8 辅助库    82
3.2.9 重要的类和结构    83
3.3 编程指导    88
3.3.1 总体指导    89
3.3.2 文档    89
3.3.3 函数和参数    91
3.3.4 命名约定    92
3.3.5 分隔与缩进    92
3.3.6 文档工具    93
3.3.7 保持工作记录的习惯    95
3.3.8 追踪变化    95
3.4 第一次构建系统    97
3.5 小结    100
第4章 测试驱动的MySQL开发    101
4.1 背景知识    101
4.1.1 为什么要测试    101
4.1.2 基准测试    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基准测试    119
4.2.3 MySQL性能分析    124
4.3 小结    126
第二部分 扩展MySQL
第5章 调试    128
5.1 调试介绍    128
5.2 调试技术    129
5.2.1 基本过程    129
5.2.2 内嵌调试语句    131
5.2.3 出错处理器    134
5.2.4 外部调试器    135
5.3 调试MySQL    142
5.3.1 内嵌调试语句    143
5.3.2 出错处理器    148
5.3.3 在Linux环境里调试MySQL    148
5.3.4 在Windows环境里调试MySQL    157
5.4 小结    161
第6章 嵌入式MySQL    162
6.1 构建嵌入式应用    162
6.1.1 什么是嵌入式系统    162
6.1.2 嵌入式系统的种类    163
6.1.3 嵌入式数据库系统    163
6.2 嵌入MySQL    164
6.2.1 嵌入MySQL的方法    165
6.2.2 资源要求    167
6.2.3 安全问题    167
6.2.4 嵌入MySQL的优点    167
6.2.5 嵌入MySQL的局限性    168
6.3 MySQL C API    168
6.3.1 预备知识    168
6.3.2 最常用的函数    169
6.3.3 创建嵌入式服务器    170
6.3.4 对服务器进行初始化    171
6.3.5 设置选项    172
6.3.6 连接到服务器    172
6.3.7 运行查询命令    173
6.3.8 检索查询结果    174
6.3.9 清理    175
6.3.10 与服务器断开连接并关闭服务器    175
6.3.11 汇总    175
6.3.12 出错处理    177
6.4 构建嵌入式MySQL应用程序    177
6.4.1 编译libmysqld库    177
6.4.2 调试问题如何解决    178
6.4.3 数据问题如何解决    180
6.4.4 创建基本的嵌入式服务器    180
6.4.5 出错处理问题如何解决    189
6.4.6 嵌入式服务器应用程序    189
6.5 小结    214
第7章 创建自己的存储引擎    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 预备知识    250
7.2.3 阶段1:生成引擎存根    251
7.2.4 阶段2:处理表    262
7.2.5 阶段3:数据的读/写    269
7.2.6 阶段4:数据的更新和删除    273
7.2.7 阶段5:数据的索引    280
7.2.8 阶段6:添加事务支持    299
7.3 小结    303
第8章 为MySQL添加函数和命令    305
8.1 添加用户定义函数    305
8.1.1 CREATE FUNCTION命令的语法    305
8.1.2 DROP FUNCTION命令的语法    306
8.1.3 创建用户定义库    306
8.1.4 添加新的用户定义函数    311
8.2 添加本机函数    315
8.2.1 在Windows平台上生成词法散列表    318
8.2.2 在Linux平台上生成词法散列表    318
8.2.3 编译和测试新的本机函数    318
8.3 添加SQL命令    319
8.4 添加到信息模式    327
8.5 小结    333
第三部分 高级数据库的内部组成
第9章 数据库系统的内部组成    336
9.1 查询执行    336
9.1.1 重温MySQL查询执行    336
9.1.2 什么是已编译查询    337
9.2 深入MySQL的内部    337
9.2.1 开始用MySQL做实验    338
9.2.2 注意事项    340
9.3 数据库系统内部组成实验    340
9.3.1 为什么叫实验    341
9.3.2 实验项目概述    341
9.3.3 实验项目的组成部分    342
9.3.4 在Linux平台上进行实验    343
9.3.5 在Windows平台上进行实验    343
9.4 小结    343
第10章 内部查询表示    344
10.1 查询树    344
10.1.1 查询转换    346
10.1.2 DBXP查询树    347
10.2 在MySQL里实现DBXP查询树    348
10.2.1 被添加和修改的文件    349
10.2.2 创建测试    349
10.2.3 为SELECT DBXP命令生成存根    350
10.2.4 添加查询树类    357
10.2.5 显示查询树的细节    366
10.3 小结    373
第11章 查询优化    374
11.1 查询优化器的类型    374
11.1.1 基于开销的优化器    375
11.1.2 启发式优化器    377
11.1.3 语义优化器    377
11.1.4 参数优化器    378
11.2 再次讨论启发式优化    378
11.3 DBXP查询优化器    379
11.3.1 测试设计    379
11.3.2 为SELECT DBXP命令生成存根    380
11.3.3 重要的MySQL结构和类    382
11.3.4 DBXP辅助类    385
11.3.5 修改现有代码    386
11.3.6 启发式优化器的细节    390
11.3.7 代码的编译和测试    413
11.4 小结    417
第12章 查询执行    418
12.1 回顾查询执行    418
12.1.1 投影    418
12.1.2 限制    419
12.1.3 联结    419
12.2 DBXP查询执行    429
12.2.1 测试的设计    430
12.2.2 更新SELECT DBXP命令    431
12.2.3 DBXP算法    433
12.2.4 代码的编译和测试    454
12.3 小结    457
附录    459
暂无评论!