MySQL技术内幕

MySQL技术内幕 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:姜承尧
出品人:
页数:436
译者:
出版时间:2013-5
价格:79.00元
装帧:
isbn号码:9787111422068
丛书系列:数据库技术丛书
图书标签:
  • MySQL
  • 数据库
  • InnoDB
  • MySQL技术内幕
  • 计算机
  • mysql
  • 经典
  • 技术
  • MySQL
  • 数据库
  • 技术内幕
  • 关系型数据库
  • SQL
  • 性能优化
  • 并发控制
  • 事务处理
  • 分布式数据库
  • 索引
  • 存储引擎
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《MySQL技术内幕:InnoDB存储引擎(第2版)》由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。作为国内唯一一本关于InnoDB的专著,《MySQL技术内幕:InnoDB存储引擎(第2版)》的第1版广受好评,第2版不仅针对最新的MySQL 5.6对相关内容进行了全面的补充,还根据广大读者的反馈意见对第1版中存在的不足进行了完善,《MySQL技术内幕:InnoDB存储引擎(第2版)》大约重写了50%的内容。《MySQL技术内幕:InnoDB存储引擎(第2版)》从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB,更重要的是,它能为你设计管理高性能、高可用的数据库系统提供绝佳的指导。

《MySQL技术内幕:InnoDB存储引擎(第2版)》一共10章,首先宏观地介绍了MySQL的体系结构和各种常见的存储引擎以及它们之间的比较;接着以InnoDB的内部实现为切入点,逐一详细讲解了InnoDB存储引擎内部的各个功能模块的实现原理,包括InnoDB存储引擎的体系结构、内存中的数据结构、基于InnoDB存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份与恢复,以及InnoDB的性能调优等重要的知识;最后对InnoDB存储引擎源代码的编译和调试做了介绍,对大家阅读和理解InnoDB的源代码有重要的指导意义。

《MySQL技术内幕:InnoDB存储引擎(第2版)》适合所有希望构建和管理高性能、高可用性的MySQL数据库系统的开发者和DBA阅读。

作者简介

目录信息

推荐序
前言
第1章 MySQL体系结构和存储引擎 1
1.1 定义数据库和实例 1
1.2 MySQL体系结构 3
1.3 MySQL存储引擎 5
1.3.1 InnoDB存储引擎 6
1.3.2 MyISAM存储引擎 7
1.3.3 NDB存储引擎 7
1.3.4 Memory存储引擎 8
1.3.5 Archive存储引擎 9
1.3.6 Federated存储引擎 9
1.3.7 Maria存储引擎 9
1.3.8 其他存储引擎 9
1.4 各存储引擎之间的比较 10
1.5 连接MySQL 13
1.5.1 TCP/IP 13
1.5.2 命名管道和共享内存 15
1.5.3 UNIX域套接字 15
1.6 小结 15
第2章 InnoDB存储引擎 17
2.1 InnoDB存储引擎概述 17
2.2 InnoDB存储引擎的版本 18
2.3 InnoDB体系架构 19
2.3.1 后台线程 19
2.3.2 内存 22
2.4 Checkpoint技术 32
2.5 Master Thread工作方式 36
2.5.1 InnoDB 1.0.x版本之前的Master Thread 36
2.5.2 InnoDB1.2.x版本之前的Master Thread 41
2.5.3 InnoDB1.2.x版本的Master Thread 45
2.6 InnoDB关键特性 45
2.6.1 插入缓冲 46
2.6.2 两次写 53
2.6.3 自适应哈希索引 55
2.6.4 异步IO 57
2.6.5 刷新邻接页 58
2.7 启动、关闭与恢复 58
2.8 小结 61
第3章 文件 62
3.1 参数文件 62
3.1.1 什么是参数 63
3.1.2 参数类型 64
3.2 日志文件 65
3.2.1 错误日志 66
3.2.2 慢查询日志 67
3.2.3 查询日志 72
3.2.4 二进制日志 73
3.3 套接字文件 83
3.4 pid文件 83
3.5 表结构定义文件 84
3.6 InnoDB存储引擎文件 84
3.6.1 表空间文件 85
3.6.2 重做日志文件 86
3.7 小结 90
第4章 表 91
4.1 索引组织表 91
4.2 InnoDB逻辑存储结构 93
4.2.1 表空间 93
4.2.2 段 95
4.2.3 区 95
4.2.4 页 101
4.2.5 行 101
4.3 InnoDB行记录格式 102
4.3.1 Compact行记录格式 103
4.3.2 Redundant行记录格式 106
4.3.3 行溢出数据 110
4.3.4 Compressed和Dynamic行记录格式 117
4.3.5 CHAR的行结构存储 117
4.4 InnoDB数据页结构 120
4.4.1 File Header 121
4.4.2 Page Header 122
4.4.3 Infimum和Supremum Records 123
4.4.4 User Records和Free Space 123
4.4.5 Page Directory 124
4.4.6 File Trailer 124
4.4.7 InnoDB数据页结构示例分析 125
4.5 Named File Formats机制 132
4.6 约束 134
4.6.1 数据完整性 134
4.6.2 约束的创建和查找 135
4.6.3 约束和索引的区别 137
4.6.4 对错误数据的约束 137
4.6.5 ENUM和SET约束 139
4.6.6 触发器与约束 139
4.6.7 外键约束 142
4.7 视图 144
4.7.1 视图的作用 144
4.7.2 物化视图 147
4.8 分区表 152
4.8.1 分区概述 152
4.8.2 分区类型 155
4.8.3 子分区 168
4.8.4 分区中的NULL值 172
4.8.5 分区和性能 176
4.8.6 在表和分区间交换数据 180
4.9 小结 182
第5章 索引与算法 183
5.1 InnoDB存储引擎索引概述 183
5.2 数据结构与算法 184
5.2.1 二分查找法 184
5.2.2 二叉查找树和平衡二叉树 185
5.3 B+树 187
5.3.1 B+树的插入操作 187
5.3.2 B+树的删除操作 190
5.4 B+树索引 191
5.4.1 聚集索引 192
5.4.2 辅助索引 196
5.4.3 B+树索引的分裂 200
5.4.4 B+树索引的管理 202
5.5 Cardinality值 210
5.5.1 什么是Cardinality 210
5.5.2 InnoDB存储引擎的Cardinality统计 212
5.6 B+树索引的使用 215
5.6.1 不同应用中B+树索引的使用 215
5.6.2 联合索引 215
5.6.3 覆盖索引 218
5.6.4 优化器选择不使用索引的情况 219
5.6.5 索引提示 221
5.6.6 Multi-Range Read优化 223
5.6.7 Index Condition Pushdown(ICP)优化 226
5.7 哈希算法 227
5.7.1 哈希表 228
5.7.2 InnoDB存储引擎中的哈希算法 229
5.7.3 自适应哈希索引 230
5.8 全文检索 231
5.8.1 概述 231
5.8.2 倒排索引 232
5.8.3 InnoDB全文检索 233
5.8.4 全文检索 240
5.9 小结 248
第6章 锁 249
6.1 什么是锁 249
6.2 lock与latch 250
6.3 InnoDB存储引擎中的锁 252
6.3.1 锁的类型 252
6.3.2 一致性非锁定读 258
6.3.3 一致性锁定读 261
6.3.4 自增长与锁 262
6.3.5 外键和锁 264
6.4 锁的算法 265
6.4.1 行锁的3种算法 265
6.4.2 解决Phantom Problem 269
6.5 锁问题 271
6.5.1 脏读 271
6.5.2 不可重复读 273
6.5.3 丢失更新 274
6.6 阻塞 276
6.7 死锁 278
6.7.1 死锁的概念 278
6.7.2 死锁概率 280
6.7.3 死锁的示例 281
6.8 锁升级 283
6.9 小结 284
第7章 事务 285
7.1 认识事务 285
7.1.1 概述 285
7.1.2 分类 287
7.2 事务的实现 294
7.2.1 redo 294
7.2.2 undo 305
7.2.3 purge 317
7.2.4 group commit 319
7.3 事务控制语句 323
7.4 隐式提交的SQL语句 328
7.5 对于事务操作的统计 329
7.6 事务的隔离级别 330
7.7 分布式事务 335
7.7.1 MySQL数据库分布式事务 335
7.7.2 内部XA事务 340
7.8 不好的事务习惯 341
7.8.1 在循环中提交 341
7.8.2 使用自动提交 343
7.8.3 使用自动回滚 344
7.9 长事务 347
7.10 小结 349
第8章 备份与恢复 350
8.1 备份与恢复概述 350
8.2 冷备 352
8.3 逻辑备份 353
8.3.1 mysqldump 353
8.3.2 SELECT...INTO OUTFILE 360
8.3.3 逻辑备份的恢复 362
8.3.4 LOAD DATA INFILE 362
8.3.5 mysqlimport 364
8.4 二进制日志备份与恢复 366
8.5 热备 367
8.5.1 ibbackup 367
8.5.2 XtraBackup 368
8.5.3 XtraBackup实现增量备份 370
8.6 快照备份 372
8.7 复制 376
8.7.1 复制的工作原理 376
8.7.2 快照+复制的备份架构 380
8.8 小结 382
第9章 性能调优 383
9.1 选择合适的CPU 383
9.2 内存的重要性 384
9.3 硬盘对数据库性能的影响 387
9.3.1 传统机械硬盘 387
9.3.2 固态硬盘 387
9.4 合理地设置RAID 389
9.4.1 RAID类型 389
9.4.2 RAID Write Back功能 392
9.4.3 RAID配置工具 394
9.5 操作系统的选择 397
9.6 不同的文件系统对数据库性能的影响 398
9.7 选择合适的基准测试工具 399
9.7.1 sysbench 399
9.7.2 mysql-tpcc 405
9.8 小结 410
第10章 InnoDB存储引擎源代码的编译和调试 411
10.1 获取InnoDB存储引擎源代码 411
10.2 InnoDB源代码结构 413
10.3 MySQL 5.1版本编译和调试InnoDB源代码 415
10.3.1 Windows下的调试 415
10.3.2 Linux下的调试 418
10.4 cmake方式编译和调试InnoDB存储引擎 423
10.5 小结 424
· · · · · · (收起)

读后感

评分

终于把书给看完了,真的佩服作者对于InnoDB存储引擎低层实现理解。国内外还很少有对master thread,double write,insert buffer介绍的这么详细的书籍。我强烈推荐2,4,5三章,这三章可以入选经典章节,当然其余几章也非常不错。 当然这本书不是完美的,我觉得书版社这里要付...  

评分

第二版相对第一版做了非常多的修改,希望各位读者喜欢。同时有任何问题可以通过新浪微博:@姜承尧,或者微信公众帐号:InsideMySQL与我及时交流与反馈。第二版更新说明可见:http://insidemysql.blog.163.com/blog/static/202834042201352925033516/  

评分

实践+理论的完美结合--扫除网络流传的“误解”和所谓“神话”,是DBA提高的必备书籍~ 弥补了《高性能MySQL》对存储引擎的一笔带过的遗憾,作者文笔也很轻松严谨;假如这本书还是无法满足你,只能啃几千页的官方手册了^-^  

评分

从大学就使用MySQL, 但内核这一块儿一直感觉是个黑盒, 他内部到底是咋玩儿的, 咋实现的一窍不通. 对索引, 事务也只是一点影影绰绰的概念, 并未能深入探究. 仅作为使用者, 如果线上出了问题确实也很难定位, 排查. 原来在微店时也出了好几次这方面的问题. 通过阅读本书, 不敢说学...  

评分

用户评价

评分

这本聚焦于编译原理和程序优化的专著,简直是一本将“理论付诸实践”的教科书典范。它没有停留在定义语法规则的枯燥阶段,而是直接深入到中间表示(IR)的生成过程,以及后续的各种优化 passes。我特别关注了寄存器分配的图着色算法部分,书中详细描述了如何将变量分配映射到有限的物理寄存器上,以及溢出处理的策略,这对于理解为什么某些代码块的执行效率会急剧下降至关重要。此外,关于向量化指令集(如SIMD)的自动向量化技术分析,也为我后续在特定性能敏感模块进行手动汇编优化提供了坚实的理论基础。这本书要求读者具备扎实的离散数学和线性代数背景,但一旦跨过理解的门槛,你对C/C++代码的理解将上升到一个全新的层次——你不再只是一个使用者,而是一个能与编译器“对话”的开发者。它强迫你去思考编译器是如何“看待”你的代码的,这种视角转变的价值无可估量。

评分

读完这本关于分布式计算架构演进的经典译作,我被深深地震撼了。它没有聚焦于某个特定软件的API,而是宏大地勾勒出了计算资源如何从集中式走向大规模并行处理的历史脉络。书中对CAP定理的解读极为透彻,并且通过大量的案例分析,展示了不同系统在一致性、可用性和分区容错性之间做出的权衡艺术。我特别喜欢其中关于 Gossip 协议和 Paxos 算法的章节,作者用清晰的类比和流程图,将那些原本抽象难懂的共识机制变得直观易懂。它让我意识到,今天我们习以为常的云服务和微服务架构,每一步的演进都凝聚着无数工程师对可靠性和扩展性的不懈追求。这本书对网络延迟、消息传递的可靠性等基础设施层面的讨论,也极大地拓宽了我对整个信息系统复杂性的认知。它不是教你如何部署某个工具,而是教你如何设计一个在面对故障时依然能够保持健壮性的系统。

评分

我最近翻阅的这本关于现代操作系统内核设计理念的书籍,完全颠覆了我对进程与线程管理的固有印象。它并没有详述Linux或Windows的某个特定版本API,而是深入探讨了宏内核、微内核以及混合型内核的架构哲学及其演变。其中关于内存管理单元(MMU)如何实现虚拟内存隔离,以及TLB(Translation Lookaside Buffer)缓存失效对系统性能的影响分析,让我对上下文切换的成本有了量化的认识。书中对调度算法的对比分析尤为精彩,从传统的优先级抢占式调度到面向实时系统的EDF(Earliest Deadline First)算法,作者清晰地指出了每种算法在不同工作负载下的适用边界。这本书的价值在于它提供了一个宏观的视角,让你理解操作系统这个“守门人”是如何在资源稀缺的环境下,努力为上层应用提供公平、高效且安全的运行环境的。它是一部关于系统设计哲学和权衡艺术的史诗。

评分

这本关于数据库系统原理的权威著作,简直是为每一个有志于深入理解数据存储和查询机制的技术人员量身定做的指南。它没有停留在简单的SQL语法层面,而是真正地剖析了底层架构的精妙之处。我尤其欣赏作者在描述存储引擎如何处理事务隔离级别时的那种庖丁解牛般的细致,无论是MVCC的实现细节,还是锁机制的粒度和性能影响,都被阐述得淋漓尽致。阅读过程中,我仿佛置身于一个复杂的机械迷宫,作者手持一把精巧的钥匙,带领我逐一解锁那些隐藏在高性能背后的奥秘。特别是关于数据页的组织结构、索引B+树的物理存储布局,以及它们如何影响查询效率的章节,对我后续优化复杂查询语句起到了决定性的指导作用。这本书不仅仅是知识的堆砌,更是一套解决实际工程问题的思维框架,它教会我如何从更底层的角度去思考“为什么”这个操作会慢,以及“如何”才能让它跑得更快。对于那些满足于只会写`SELECT * FROM table WHERE...`的初级用户来说,这本书可能略显晦涩,但对于渴望突破性能瓶颈、精通数据库内核的工程师而言,它无疑是案头不可或缺的宝典。

评分

手上这本关于网络协议栈与拥塞控制的经典教材,堪称网络工程师的“圣经”。它避开了对HTTP或TCP/IP基础命令的肤浅介绍,而是将重点放在了数据包在复杂的互联网拓扑中传输时,如何通过精巧的算法实现流量的平稳和高效。我对书中关于TCP拥塞控制算法(如Reno、CUBIC到BBR)的演进脉络及其数学模型的详细推导印象深刻。作者不仅解释了“慢启动”和“拥塞避免”的机制,更深入剖析了在丢包率、延迟和带宽动态变化的网络环境下,不同算法如何动态调整发送窗口大小以达到最优吞吐量。这本书的深度使得它成为解决高延迟、高丢包率网络环境下应用性能问题的利器。它教会我,网络性能的优化,最终归结于对这些底层控制算法的深刻理解和微调能力。

评分

3.5吧,作者对后边几章写的很不用心,前边章节也能发现很明显的错误,不过对于我这样的初学者看看也没啥坏处。

评分

其实是 InnoDB 剖析,很不错的科普 & 源码导读

评分

应该早看两年的

评分

认真看了5,6,7三章(索引、锁、事务),作为high performance mysql学习时的辅助读物,这三章内容确实不错。其他的章节稍微翻了一下,基本是一些基础介绍和InnoDB的深入分析,不是很感兴趣。

评分

虎头蛇尾,很多地方用大段的输出来堆字数

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有