一:基础篇 | 1.MySQL存储引擎-特性篇 ① 内部原理理解 2.MySQL事务篇 ② 原理实现 ③ 隔离级别 ④ 分布式事务 ⑤ 案例-多库多事务降低数据不一致 3.MySQL锁 ⑥ 原理实现 ⑦ 实现分布式锁 ⑧ 案例-乐观锁 ⑨ 案例-优惠券发券死锁问题分析和改进建议 |
二:MySQL优化篇 | 1.MySQL索引基础篇 2.MySQL索引优化实战篇 1) 索引优化实战-基数 2) 索引优化实战-索引优化规则 3) 索引优化实战-耐人寻味索引案例 ① 删除索引引发的接口超时 ② 重建索引索引后引发的主键id查询10秒+ 3.MySQL索引原理篇 1) 聚簇索引 2) 非聚簇索引 3) 使用InnoDB主键应该知道的事项 4) 聚簇索引的优缺点 5) 带有顺序访问指针的B+Tree 4.MySQL优化-explain篇 ① 各个参数值理解,并区分影响性能 ② 什么是ICP 5.MySQL排序优化与索引使用-案例分析 ① 优化ORDER BY ② WHERE + ORDER BY 优化 ③ Filesort优化 6.MySQL优化 1) SQL优化分析-访问路径等 2) 优化嵌套查询 3) 分页优化案例 4) 在什么情况下修改分页为INNER JOIN 5) 如何查找慢sql ① tpcdump ② pt工具实践运用 6) 优化案例-乐观锁-实现高并发 ① 案例-优惠券发券死锁问题分析和改进建议 |
三:生产业务实践 | 1. 数据库规范核心 2. 选择合适的数据类型存储数据 3. 数据表优化 ① 核心数据表设计--45列 ② 字段类型设计 ③ 对表逻辑更新 ④ 添加创建和修改时间列 ⑤ 添加version版本控制列--在业务层实现乐观锁 4. 如何查找慢查询--为什么要注意优化慢查询--对业务的危害 5. 优化大表总要性--经验一般在10G内 6. 为什么不要在MySQL使用text/blob/json 7. 为什么要限制DML操作的数据大小 8. 查询MySQL表有没有流量访问 9. 处理海量数据时的一些优化查询速度方法 10. 数据库的高级特性,该特性在实际生产中的作用 11. MySQL排序优化与索引使用-案例分析 12. MySQL优化 ① SQL优化分析 ② 优化嵌套查询 ③ 分页优化案例 ④ 如何提前获取慢SQL 13. 查询优化的综合实例-TPCH实践 |
四:MySQL分库分表 | 1. 数据库垂直拆分案例分析 2. 数据库水平切分案例分析 ① 非分片键字段查询如何实现 ② 跨库分页方案 ③ 跨节点Join查询 ④ 数据统计 3. 分库分表技术中间件选型 4. 分布式事务--分布式DB |
五:深度结合优化:MySQL和NoSQL结合优化 | 1. Redis 9种类数据结构了解以及如何实践使用 2. 主从DB与cache一致性优化 (1)不一致优化思路 (2)DB主从一致性架构优化多种方法 |
六:架构高可用设计和自动化 | 1.数据库垂直拆分-核心部分 (1)垂直切分的依据是什么 (2)为什么要这么这么拆分 (3)垂直拆分的优缺点 (4)数据库垂直拆分-案例 (5)业务垂直拆分后案例-多库多事务降低数据不一致 2.数据库水平切分 (1)用户中心水平切分方法 范围、哈希 优缺点 (2)用户中心水平切分后带来的问题 1)用户-前台访问 用户中心非uid属性查询需求分析方案 a.索引 b.缓存 c.非yid属性生成uid 2)用户中心-运营最佳实践 (3)用户中心水平切分思路 (4)水平切分的优缺点 (5)数据库水平切分-案例1-数据表分表(单库) (6)数据库水平切分-案例2-分库分表(多库) 4.跨库分页方案 (1)几种方案实践 5.分库分表技术中间件选型 (1)Kingsharding (2)sharding-jdbk (3)MyCat 6.mysql备份恢复 (1)物理备份恢复 (2)逻辑备份no lock table 7.自动化和SQL优化 inception遇到的坑-处理方案 SqlAdvisor和SOAR自动优化分析 |
四:MGR在生产中实践 | MGR基础阶段 1.MySQL group Replication架构介绍 2.集群架构 Ø MySQL group Replication多主模式项目在生产中应用 Ø MySQL group Replication单主模式项目在生产中应用 3.集群数据同步 4.集群管理 5.状态监控 6.使用限制
MGR提升阶段 1.流量控制 2.冲突检测 3.性能分析
MGR实践阶段 1.应用场景 2.重要参数 3.高可用架构 Ø MySQL MGR+HAProxy配置负载均衡 Ø MySQL MGR+KeepAlived配置负载均衡 4.优化思路 5.MGR在线修改Single-Maste为Multi-Master模式 6.将MGR降级为主从模式 7.MySQL group Replication启动和停止操作<注意事项> 8.MySQL group Replication在线增加/删除节点 9.MySQL group replication节点宕机恢复实践 10.MGR版本升级 11.在业务中的体现--踩到的坑 Ø MySQL MGR在业务中使用添加/删除表和字段注意事项 Ø 大事务 Ø 网络抖动 Ø 双主DML+DDL同时执行一个表 Ø 事务的认证流程的加锁起了冲突,导致事务性能下降,延迟提升 Ø paxos cache导致内存增长优化 Ø 提前查找大查询和大事务思路 12.MySQL MGR 8.0在生产中实践 |