diff --git a/index.txt b/index.txt deleted file mode 100644 index dde9b543a25ea1838a5464dad5a882dd6174cb2a..0000000000000000000000000000000000000000 --- a/index.txt +++ /dev/null @@ -1,307 +0,0 @@ -├── 第1篇 MySQL基础(不易出题,且有很多谬误,不采纳) -│   ├── Text -│   │   └── chapter1.html -│   ├── 第1章 数据库概述 -│   │   ├── 1.1 数据库的定义 -│   │   ├── 1.2 数据库的发展 -│   │   ├── 1.3 本章总结 -│   │   └── Text -│   ├── 第2章 数据库技术 -│   │   ├── 2.1 数据库系统 -│   │   ├── 2.2 SQL语言 -│   │   ├── 2.3 数据库访问技术 -│   │   ├── 2.4 本章总结 -│   │   └── Text -│   └── 第3章 MySQL数据库 -│   ├── 3.1 MySQL三大范式 -│   ├── 3.2 MySQL存储引擎 -│   ├── 3.3 本章总结 -│   └── Text -├── 第2篇 环境搭建(不易出题,不采纳) -│   ├── Text -│   │   └── chapter41.html -│   ├── 第4章 安装三大操作系统 -│   │   ├── 4.1 安装VMware虚拟机 -│   │   ├── 4.2 安装Windows操作系统 -│   │   ├── 4.3 安装Mac OS X操作系统 -│   │   ├── 4.4 安装CentOS操作系统 -│   │   ├── 4.5 本章总结 -│   │   └── Text -│   ├── 第5章 服务器基础配置 -│   │   ├── 5.1 配置CentOS 6.8服务器环境 -│   │   ├── 5.2 添加mysql用户身份 -│   │   ├── 5.3 本章总结 -│   │   └── Text -│   └── 第6章 搭建MySQL环境 -│   ├── 6.1 基于MSI文件安装Windows版本的MySQL -│   ├── 6.2 基于ZIP文件安装Windows版本的MySQL -│   ├── 6.3 基于DMG文件安装Mac OS X版本的MySQL -│   ├── 6.4 基于GZ文件安装Mac OS X版本的MySQL -│   ├── 6.5 基于RPM文件安装CentOS版本的MySQL -│   ├── 6.6 基于源码安装CentOS版本的MySQL -│   ├── 6.7 遇到的问题和解决方案 -│   ├── 6.8 本章总结 -│   └── Text -├── 第3篇 MySQL开发 -│   ├── Text -│   │   └── chapter109.html -│   ├── 第10章 MySQL运算符(基础知识,采纳,建议出题人自行分拆) -│   │   ├── 10.1 算术运算符 -│   │   ├── 10.2 比较运算符 -│   │   ├── 10.3 逻辑运算符 -│   │   ├── 10.4 位运算符 -│   │   ├── 10.5 运算符的优先级 -│   │   ├── 10.6 本章总结 -│   │   └── Text -│   ├── 第11章 MySQL函数(基础知识,采纳) -│   │   ├── 11.1 MySQL函数简介 -│   │   ├── 11.10 JSON函数 -│   │   ├── 11.11 窗口函数 -│   │   ├── 11.12 MySQL的其他函数 -│   │   ├── 11.13 本章总结 -│   │   ├── 11.2 数学函数 -│   │   ├── 11.3 字符串函数 -│   │   ├── 11.4 日期和时间函数 -│   │   ├── 11.5 流程处理函数 -│   │   ├── 11.6 加密与解密函数 -│   │   ├── 11.7 聚合函数 -│   │   ├── 11.8 获取MySQL信息函数 -│   │   ├── 11.9 加锁与解锁函数 -│   │   └── Text -│   ├── 第12章 MySQL数据变更(重要的初中阶知识,采纳) -│   │   ├── 12.1 数据插入 -│   │   ├── 12.2 数据更新 -│   │   ├── 12.3 数据删除 -│   │   ├── 12.4 本章总结 -│   │   └── Text -│   ├── 第13章 MySQL数据查询(重要的初中阶知识,采纳,每节至少一题) -│   │   ├── 13.1 数据准备 -│   │   ├── 13.10 本章总结 -│   │   ├── 13.2 SELECT查询语句 -│   │   ├── 13.3 WHERE条件语句 -│   │   ├── 13.4 数据聚合查询 -│   │   ├── 13.5 JOIN语句 -│   │   ├── 13.6 子查询语句 -│   │   ├── 13.7 UNION联合语句 -│   │   ├── 13.8 使用别名查询数据 -│   │   ├── 13.9 使用正则表达式查询数据 -│   │   └── Text -│   ├── 第14章 MySQL索引(重要的中高阶知识,采纳) -│   │   ├── 14.1 索引简介 -│   │   ├── 14.2 索引的使用场景 -│   │   ├── 14.3 创建数据表时创建索引 -│   │   ├── 14.4 为已有数据表添加索引 -│   │   ├── 14.5 删除索引 -│   │   ├── 14.6 隐藏索引 -│   │   ├── 14.7 降序索引 -│   │   ├── 14.8 函数索引 -│   │   ├── 14.9 本章总结 -│   │   └── Text -│   ├── 第15章 MySQL视图(重要的中高阶知识,采纳) -│   │   ├── 15.1 视图概述 -│   │   ├── 15.2 创建视图 -│   │   ├── 15.3 查看视图 -│   │   ├── 15.4 修改视图的结构 -│   │   ├── 15.5 更新视图的数据 -│   │   ├── 15.6 删除视图 -│   │   ├── 15.7 本章总结 -│   │   └── Text -│   ├── 第16章 存储过程和函数(重要的中高阶知识,采纳) -│   │   ├── 16.1 存储过程和函数简介 -│   │   ├── 16.10 定义条件和处理程序案例 -│   │   ├── 16.11 MySQL中游标的使用 -│   │   ├── 16.12 MySQL中游标的使用案例 -│   │   ├── 16.13 MySQL中控制流程的使用 -│   │   ├── 16.14 本章总结 -│   │   ├── 16.2 创建存储过程和函数 -│   │   ├── 16.3 查看存储过程和函数 -│   │   ├── 16.4 修改存储过程和函数 -│   │   ├── 16.5 调用存储过程和函数 -│   │   ├── 16.6 删除存储过程和函数 -│   │   ├── 16.7 MySQL中使用变量 -│   │   ├── 16.8 MySQL中使用变量案例 -│   │   ├── 16.9 定义条件和处理程序 -│   │   └── Text -│   ├── 第17章 MySQL触发器(重要的中高阶知识,采纳) -│   │   ├── 17.1 创建触发器 -│   │   ├── 17.2 查看触发器 -│   │   ├── 17.3 删除触发器 -│   │   ├── 17.4 本章小结 -│   │   └── Text -│   ├── 第18章 MySQL分区(重要的高阶知识,采纳,建议适当合并) -│   │   ├── 18.1 分区介绍 -│   │   ├── 18.2 RANGE分区 -│   │   ├── 18.3 LIST分区 -│   │   ├── 18.4 COLUMNS分区 -│   │   ├── 18.5 HASH分区 -│   │   ├── 18.6 KEY分区 -│   │   ├── 18.7 子分区 -│   │   ├── 18.8 分区中的NULL值处理 -│   │   ├── 18.9 本章总结 -│   │   └── Text -│   ├── 第19章 MySQL公用表表达式和生成列(重要的中阶知识,采纳) -│   │   ├── 19.1 公用表表达式 -│   │   ├── 19.2 生成列 -│   │   ├── 19.3 本章总结 -│   │   └── Text -│   ├── 第7章 MySQL操作数据库(重要的初中阶知识,采纳) -│   │   ├── 7.1 创建数据库 -│   │   ├── 7.2 查看数据库 -│   │   ├── 7.3 修改数据库名称 -│   │   ├── 7.4 数据库编码 -│   │   ├── 7.5 删除数据库 -│   │   ├── 7.6 本章总结 -│   │   └── Text -│   ├── 第8章 MySQL操作数据表(重要的初中阶知识,采纳) -│   │   ├── 8.1 创建数据表 -│   │   ├── 8.2 查看数据表结构 -│   │   ├── 8.3 修改数据表 -│   │   ├── 8.4 删除数据表 -│   │   ├── 8.5 MySQL中的临时表 -│   │   ├── 8.6 本章总结 -│   │   └── Text -│   └── 第9章 MySQL数据类型(初阶知识,采纳) -│   ├── 9.1 数值类型 -│   ├── 9.2 日期和时间类型 -│   ├── 9.3 文本字符串类型 -│   ├── 9.4 二进制字符串类型 -│   ├── 9.5 本章总结 -│   └── Text -├── 第4篇 MySQL优化 -│   ├── Text -│   │   └── chapter577.html -│   ├── 第20章 MySQL查询优化(重要的中高阶知识,采纳) -│   │   ├── 20.1 SHOW STATUS语句解析 -│   │   ├── 20.2 EXPLAIN语句解析 -│   │   ├── 20.3 SHOW PROFILE语句解析 -│   │   ├── 20.4 pt-query-digest分析查询 -│   │   ├── 20.5 优化子查询 -│   │   ├── 20.6 本章总结 -│   │   └── Text -│   ├── 第21章 MySQL索引优化(重要的高阶知识,采纳) -│   │   ├── 21.1 索引的类型 -│   │   ├── 21.2 使用索引的场景 -│   │   ├── 21.3 无法使用索引的场景 -│   │   ├── 21.4 使用索引提示 -│   │   ├── 21.5 使用生成列为JSON建立索引 -│   │   ├── 21.6 本章总结 -│   │   └── Text -│   ├── 第22章 SQL语句优化(重要的高阶知识,采纳) -│   │   ├── 22.1 嵌套查询的优化 -│   │   ├── 22.2 OR条件语句的优化 -│   │   ├── 22.3 ORDER BY语句的优化 -│   │   ├── 22.4 GROUP BY语句的优化 -│   │   ├── 22.5 分页查询的优化 -│   │   ├── 22.6 插入数据的优化 -│   │   ├── 22.7 删除数据的优化 -│   │   ├── 22.8 本章总结 -│   │   └── Text -│   ├── 第23章 数据库优化(重要的中高阶知识,采纳) -│   │   ├── 23.1 优化数据类型 -│   │   ├── 23.2 删除重复索引和冗余索引 -│   │   ├── 23.3 反范式化设计 -│   │   ├── 23.4 增加中间表 -│   │   ├── 23.5 分析数据表 -│   │   ├── 23.6 检查数据表 -│   │   ├── 23.7 优化数据表 -│   │   ├── 23.8 拆分数据表 -│   │   ├── 23.9 本章总结 -│   │   └── Text -│   ├── 第24章 MySQL服务器优化(中高阶知识,采纳) -│   │   ├── 24.1 MySQL服务器硬件的优化 -│   │   ├── 24.2 MySQL配置项的优化 -│   │   ├── 24.3 本章总结 -│   │   └── Text -│   ├── 第25章 应用程序优化(中高阶知识,采纳) -│   │   ├── 25.1 复用数据库连接 -│   │   ├── 25.2 减少数据访问 -│   │   ├── 25.3 开启查询缓存 -│   │   ├── 25.4 使用外部缓存 -│   │   ├── 25.5 使用分布式MySQL架构 -│   │   ├── 25.6 本章总结 -│   │   └── Text -│   └── 第26章 MySQL的其他优化选项(中高阶知识,采纳) -│   ├── 26.1 使用performance_schema数据库分析MySQL -│   ├── 26.2 使用sys数据库分析MySQL -│   ├── 26.3 MySQL 8.x中的资源组 -│   ├── 26.4 本章总结 -│   └── Text -├── 第5篇 MySQL运维 -│   ├── Text -│   │   └── chapter676.html(初阶知识,采纳) -│   ├── 第27章 MySQL命令行工具 -│   │   ├── 27.1 查看MySQL命令 -│   │   ├── 27.10 本章总结 -│   │   ├── 27.2 mysql命令 -│   │   ├── 27.3 mysqladmin命令 -│   │   ├── 27.4 myisampack命令 -│   │   ├── 27.5 mysqlbinlog命令 -│   │   ├── 27.6 mysqlcheck命令 -│   │   ├── 27.7 mysqlshow命令 -│   │   ├── 27.8 mysqldump命令 -│   │   ├── 27.9 mysqlimport命令 -│   │   └── Text -│   ├── 第28章 MySQL日志(中阶知识,采纳) -│   │   ├── 28.1 查询日志 -│   │   ├── 28.2 慢查询日志 -│   │   ├── 28.3 错误日志 -│   │   ├── 28.4 二进制日志 -│   │   ├── 28.5 本章总结 -│   │   └── Text -│   ├── 第29章 数据备份与恢复(重要的初中阶知识,采纳) -│   │   ├── 29.1 基于mysqldump备份并恢复数据 -│   │   ├── 29.10 导入数据 -│   │   ├── 29.11 遇到的问题和解决方案 -│   │   ├── 29.12 本章总结 -│   │   ├── 29.2 基于mysqlpump备份并恢复数据 -│   │   ├── 29.3 基于mydumper备份并恢复数据 -│   │   ├── 29.4 基于mysqlhotcopy备份并恢复数据 -│   │   ├── 29.5 基于xtrabackup备份并恢复数据 -│   │   ├── 29.6 数据备份与恢复案例 -│   │   ├── 29.7 MySQL灾难恢复 -│   │   ├── 29.8 实现数据库的自动备份 -│   │   ├── 29.9 导出数据 -│   │   └── Text -│   └── 第30章 MySQL账户管理(重要的初中阶知识,采纳) -│   ├── 30.1 MySQL中的权限表 -│   ├── 30.10 MySQL 8.x版本中的账户管理 -│   ├── 30.11 本章总结 -│   ├── 30.2 创建普通用户 -│   ├── 30.3 为用户授权 -│   ├── 30.4 查看用户权限 -│   ├── 30.5 修改用户权限 -│   ├── 30.6 撤销用户权限 -│   ├── 30.7 修改用户密码 -│   ├── 30.8 删除用户 -│   ├── 30.9 限制用户使用资源 -│   └── Text -├── 第6篇 MySQL架构 -│   ├── Text -│   │   └── chapter793.html -│   ├── 第31章 MySQL复制(中高阶知识,采纳) -│   │   ├── 31.1 搭建MySQL主从复制环境 -│   │   ├── 31.10 基于半同步模式搭建MySQL主从复制环境 -│   │   ├── 31.11 本章总结 -│   │   ├── 31.2 搭建MySQL主主复制环境 -│   │   ├── 31.3 添加MySQL从库 -│   │   ├── 31.4 切换主从复制到链式复制 -│   │   ├── 31.5 切换链式复制到主从复制 -│   │   ├── 31.6 搭建MySQL多源复制环境 -│   │   ├── 31.7 添加复制过滤器 -│   │   ├── 31.8 设置延迟复制 -│   │   ├── 31.9 基于GTID搭建MySQL主从复制环境 -│   │   └── Text -│   ├── 第32章 MySQL读写分离(中高阶知识,采纳) -│   │   ├── 32.1 基于MySQL Proxy实现读写分离 -│   │   ├── 32.2 基于Atlas实现读写分离 -│   │   ├── 32.3 基于ProxySQL实现读写分离 -│   │   ├── 32.4 基于Amoeba实现读写分离 -│   │   ├── 32.5 基于Mycat实现读写分离 -│   │   ├── 32.6 本章总结 -│   │   └── Text -│   └── 第33章 MySQL HA高可用架构(中高阶知识,采纳) -│   ├── 33.1 基于Keepalived搭建MySQL高可用环境 -│   ├── 33.2 基于HAProxy搭建Mycat高可用环境 -│   ├── 33.3 基于Keepalived搭建HAProxy高可用环境 -│   ├── 33.4 本章总结 -│   └── Text diff --git a/tree2book.txt b/tree2book.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee8e147bdfc6afa29f38c0fc74c8063d35299281 --- /dev/null +++ b/tree2book.txt @@ -0,0 +1,373 @@ +# 2. MySQL 中阶 + +## 2.2. 查询 + +### 2.2.1 别名 + +13.8 + +### 2.2.2 WHERE + +13.3.1 + +### 2.2.3 CASE + +13.3.2 + +### 2.2.4 DISTINCT + +13.3.10 + +### 2.2.5 ORDER BY + +13.3.11 + +### 2.2.6 UNION + +13.7 + +### 2.2.7 正则表达式 + +13.9 + +### 2.2.8 分页查询 + +13.3.16 + +## 2.3 内置函数 + +### 2.3.1 锁相关 + +11.9 + +### 2.3.2 JSON 函数 + +11.10 + +### 2.3.3 窗口函数 + +11.11 + +### 2.3.4 时间日期函数 + +11.4 + +### 2.3.5 其它函数 + +11.12 + +## 2.4 聚合和分组 + +### 2.4.1 计数 + +13.4.1 + 11.7.1 + +### 2.4.2 求和 + +13.4.2 + 11.7.2 + +### 2.4.3 最小值 + +13.4.3 + 11.7.3 + +### 2.4.4 最大值 + +13.4.4 + 11.7.4 + +### 2.4.5 平均值 + +13.4.5 + 11.7.5 + +### 2.4.6 HAVING + +13.3.12 + 13.3.13 + +## 2.5 子查询 + +### 2.5.1 + +无对应章节 + +### 2.5.2 ANY + +13.6.1 + +### 2.5.3 ALL + +13.6.2 + +### 2.5.4 EXISTS + +13.6.3 + 13.6.4 + +### 2.5.6 列子查询 + +13.6.7 + +## 2.6 连接查询 + +### 2.6.1 INNER JOIN + +13.5.1 + +### 2.6.2 LEFT JOIN + +13.5.2 + +### 2.6.3 RIGHT JOIN + +13.5.3 + +### 2.6.4 CROSS JOIN + +13.5.4 + +### 2.6.5 + +无对应章节 + +## 2.7 索引 + +### 2.7.1 索引入门 + +14.1 + 14.2 + +### 2.7.2 创建索引 + +14.3 + 14.4 + +### 2.7.3删除索引 + +14.5 + +## 2.8 MySQL 日志 + +### 2.8.1 查询日志 + +28.1 + +### 2.8.2 慢查询 + +28.2 + +### 2.8.3 错误日志 + +28.3 + +### 2.8.4 二进制日志 + +28.4 + +### 2.9 备份与恢复 + +29.1 + 29.2 + +### 2.9.2 灾难恢复 + +29.7 + +## 2.10 用户和权限 + +### 2.10.1 创建普通用户 + +30.2 + +### 2.10.2 为用户授权 + +30.3 + +### 2.10.3 查看用户权限 + +30.4 + +### 2.10.4 撤销用户权限 + +30.6 + +### 2.10.5 修改用户密码 + +30.7 + +### 2.10.6 删除用户 + +30.8 + +### 2.10.7 限制用户使用资源 + +30.9 + + + +# 3. MySQL 高阶 + +## 3.1 深入索引 + +### 3.1.1 唯一索引 + +14.3.3 + 14.4.3 + +### 3.1.2 全值匹配 + +21.2.1 + +### 3.1.3 匹配顺序 + +21.2.5 + +### 3.1.4 组合索引 + +14.3.6 + 14.4.6 + +### 3.1.5 空间索引 + +14.3.8 + 14.4.8 + +### 3.1.6 全文索引 + +14.3.7 + 14.4.7 + +### 3.1.7 隐藏索引 + +14.6 + +### 3.1.8 函数和表达式索引 + +14.8 + +## 3.2 SQL 高级技巧 + +### 3.2.1 CTE 和递归查询 + +19.1 + +### 3.2.2 Window Function + +无对应章节 + +### 3.3.3 透视表 + +无对应章节 + +### 3.3.4 Double Not EXISTS + +无对应章节 + +### 3.3.5 写入和冲突 + +无对应章节 + +### 3.3.6 事务 + +无对应章节 + +## 3.3 过程化编程 + +### 3.3.1 IF + +16.13.1 + +### 3.3.2 LOOP + +16.13.3 + +### 3.3.3 REPEAT + +16.13.3 + +### 3.3.4 WHILE + +16.13.7 + +### 3.3.5 游标 + +16.11 + 16.12 + +## 3.4 设计优化 + +### 3.4.1 生成列 + +19.2 + +### 3.4.2 范式设计 + +3.1 + +### 3.4.3 反范式设计 + +23.3 + +### 3.4.4 增加中间表 + +23.4 + +### 3.4.5 分析数据表 + +23.5 + +## 3.5 运维与架构 + +### 3.5.1 主从复制 + +31.1 + +## 3.5.2 添加从库 + +31.3 + +### 3.5.3 从主从复制到链式复制 + +31.4 + +### 3.5.4 从链式复制到主从复制 + +31.5 + +### 3.5.5 多源复制 + +31.2 + +### 3.5.6 复制过滤器 + +31.7 + +### 3.5.7 延迟复制 + +31.8 + +## 3.6 查询优化 + +### 3.6.1 SHOW STATUS + +20.1 + +### 3.6.2 SHOW PROFILE + +20.3 + +### 3.6.3 EXPLAIN + +20.2 + +## 3.7 写优化 + +### 3.7.1 插入优化 + +22.6 + +### 3.7.2 删除优化 + +22.7 + +## 3.8 服务器优化 + +### 3.8.1 配置项优化 + +24.2 + +### 3.8.2 performance_schema + +26.1.2 + +### sys 数据库 + +26.2 \ No newline at end of file