MySQL是怎样运行的从根儿上理解MySQL小孩子高性能MySQL必知必会深入浅出基pdf下载pdf下载

MySQL是怎样运行的从根儿上理解MySQL百度网盘pdf下载

作者:
简介:本篇主要提供MySQL是怎样运行的从根儿上理解MySQL小孩子高性能MySQL必知必会深入浅出基pdf下载
出版社:兰兴达图书专营店
出版时间:
pdf下载价格:9.00¥


内容介绍




  • 出版社
  • ISBN编号: 9787115547057
  • 书名: MySQL是怎样运行的 从根儿上理解 MySQL
  • 作者: 小孩子4919
  • 定价: 99.00元
  • 书名: MySQL是怎样运行的 从根儿上理解 MySQL
  • 开本: 16开
  • 是否是套装: 否
  • 出版社名称: 人民邮电出版社





《MySQL是怎样运行的:从根儿上理解 MySQL》采用诙谐幽默的表达方式,对MySQL的底层运行原理进行了介绍,内容涵盖了使用MySQL的同学在求职面试和工作中常见的一些核心概念。总计22 章,划分为4个部分。*1部分介绍了MySQL入门的一些知识,比如MySQL的服务器程序和客户端程序有哪些、MySQL的启动选项和系统变量,以及使用的字符集等。*2部分是本书后续章节的基础,介绍了MySQL的一些基础知识,比如记录、页面、索引、表空间的结构和用法等。3部分则与大家在工作中经常遇到的查询优化问题紧密相关,介绍了单表查询、连接查询的执行原理,MySQL基于成本和规则的优化具体指什么,并详细分析了Eplain语句的执行结果。4部分则是与MySQL中的事务和锁相关,介绍了事务概念的来源,MySQL是如何实现事务的,包括redo日志、undo日志、MVCC、各种锁的细节等。 尽管《MySQL是怎样运行的:从根儿上理解 MySQL》在写作时参考的MySQL源代码版本是5.7.22,但是大部分内容与具体的版本号并没有多大关系。无论是很早之前就已身居MySQL专家的人员,还是希望进一步提升技能的DBA,甚到是三五年后才会入行的“萌新”,本书都是他们彻底了解MySQL运行原理的*秀图书。




0章 楔子——阅读前必看 1 
1章 装作自己是个小白——初识MySQL 3 
1.1 MySQL的客户端/服务器架构 3 
1.2 MySQL的安装 3 
1.3 启动MySQL服务器程序 5 
1.3.1 在类UNIX系统中启动服务器程序 5 
1.3.2 在Windows系统中启动服务器程序 6 
1.4 启动MySQL客户端程序 7 
1.5 客户端与服务器连接的过程 10 
1.5.1 TCP/IP 10 
1.5.2 命名管道和共享内存 10 
1.5.3 UNIX域套接字 11 
1.6 服务器处理客户端请求 11 
1.6.1 连接管理 12 
1.6.2 解析与优化 12 
1.6.3 存储引擎 14 
1.7 常用存储引擎 14 
1.8 关于存储引擎的一些作 16 
1.8.1 查看当前服务器程序支持的存储引擎 16 
1.8.2 设置表的存储引擎 16 
1.9 总结 17 
2章 MySQL的调控按钮——启动选项和系统变量 19 
2.1 启动选项和配置文件 19 
2.1.1 在命令行上使用选项 19 
2.1.2 配置文件中使用选项 21 
2.1.3 在命令行和配置文件中启动选项的区别 26 
2.2 系统变量 27 
2.2.1 系统变量简介 27 
2.2.2 查看系统变量 27 
2.2.3 设置系统变量 28 
2.3 状态变量 32 
2.4 总结 32 
3章 字符集和比较规则 34 
3.1 字符集和比较规则简介 34 
3.1.1 字符集简介 34 
3.1.2 比较规则简介 34 
3.1.3 一些重要的字符集 35 
3.2 MySQL中支持的字符集和比较规则 36 
3.2.1 MySQL中的utf8和utf8mb4 36 
3.2.2 字符集的查看 36 
3.2.3 比较规则的查看 38 
3.3 字符集和比较规则的应用 39 
3.3.1 各级别的字符集和比较规则 39 
3.3.2 客户端和服务器通信过程中使用的字符集 44 
3.3.3 比较规则的应用 52 
3.4 总结 53 
4章 从一条记录说起——InDB记录存储结构 55 
4.1 准备工作 55 
4.2 InDB页简介 55 
4.3 InDB行格式 56 
4.3.1 指定行格式的语法 56 
4.3.2 COMPACT行格式 56 
4.3.3 REDUNDANT行格式 64 
4.3.4 溢出列 68 
4.3.5 DYNAMIC行格式和COMPRESSED行格式 70 
4.4 总结 71 
5章 盛放记录的大盒子——InDB数据页结构 72 
5.1 不同类型的页简介 72 
5.2 数据页结构快览 72 
5.3 记录在页中的存储 73 
5.4 Page Directory(页目录) 80 
5.5 Page Header(页面头部) 85 
5.6 File Header(文件头部) 86 
5.7 File Trailer(文件尾部) 88 
5.8 总结 88 
6章 快速查询的秘籍——B+树索引 90 
6.1 没有索引时进行查找 90 
6.1.1 在一个页中查找 90 
6.1.2 在很多页中查找 91 
6.2 索引 91 
6.2.1 一个简单的索引方案 92 
6.2.2 InDB中的索引方案 94 
6.2.3 InDB中B+树索引的注意事项 102 
6.2.4 MyISAM中的索引方案简介 104 
6.2.5 MySQL中创建和删除索引的语句 105 
6.3 总结 106 
7章 B+树索引的使用 107 
7.1 B+树索引示意图的简化 107 
7.2 索引的代价 109 
7.3 应用B+树索引 110 
7.3.1 扫描区间和边界条件 110 
7.3.2 索引用于排序 122 
7.3.3 索引用于分组 125 
7.4 回表的代价 126 
7.5 更好地创建和使用索引 127 
7.5.1 只为用于搜索、排序或分组的列创建索引 127 
7.5.2 考虑索引列中不重复值的个数 127 
7.5.3 索引列的类型尽量小 127 
7.5.4 为列前缀建立索引 128 
7.5.5 覆盖索引 129 
7.5.6 让索引列以列名的形式在搜索条件中单独出现 129 
7.5.7 新插入记录时主键大小对效率的影响 129 
7.5.8 冗余和重复索引 130 
7.6 总结 131 
8章 数据的家——MySQL的数据目录 132 
8.1 数据库和文件系统的关系 132 
8.2 MySQL数据目录 132 
8.2.1 数据目录和安装目录的区别 132 
8.2.2 如何确定MySQL中的数据目录 132 
8.3 数据目录的结构 133 
8.3.1 数据库在文件系统中的表示 133 
8.3.2 表在文件系统中的表示 134 
8.3.3 其他的文件 137 
8.4 文件系统对数据库的影响 137 
8.5 MySQL系统数据库简介 138 
8.6 总结 138 
9章 存放页面的大池子——InDB的表空间 140 
9.1 回忆一些旧知识 140 
9.1.1 页面类型 140 
9.1.2 页面通用部分 141 
9.2 独立表空间结构 142 
9.2.1 区的概念 142 
9.2.2 段的概念 144 
9.2.3 区的分类 145