前言
大家都知道,MySQL是一个关系型数据管理系统,也是目前最为流行的数据库管理系统之一,你可以想到的互联网企业可以说都是需要用到MySQL数据库的,MySQL有着体积小、速度快、总体的拥有成本低的特点。
而且还是开源的,所以不管是大型企业还是中小型企业都是会优先选择它的,腾讯在中国互联网企业中的地位大家都是知道的,它们的数据量不是用“庞大”就可以形容的,近段时间它们最新公开的“MySQL学习笔记”已被评为钻级!
附上最新MySQL学习路线图
腾讯资深技术官联合撰写,而且被评“钻级”,质量还用担心吗?MySQL 架构与历史
MySQL基准测试
服务器性能剖析
Schema与数据类型优化
创建高性能的索引
查询性能优化
MySQL高级特性
优化服务器设置
操作系统和硬件优化
复制
可扩展的MySQL
高可用性
云端的MySQL
应用层优化
备份与恢复
MySQL用户工具
一、MySQL 架构与历史(MySQL 逻辑架构+并发控制+事务+多版本并发控制+mysql的储存引擎+MySQL 时间线(Timeline)+MySQL的开发模式)
二、MySQL基准测试(为什么需要基准测试+基准测试的策略+基准测试的方法+基准测试的工具+基准测试的案例)
三、服务器性能剖析(性能优化简介+对应用程序进行性能剖析+剖析MySQL查询+诊断间歇性问题+其他剖析工具)
四、Schema与数据类型优化(选择优化的数据类型+MySQL schema设计中的陷阱+范式和反范式+缓存表和汇总表+加快ALTER TABLE操作的速度)
五、创建高性能的索引(索引基础+索引的优点+高性能索引策略+索引案例学习+维护索引和表)
六、查询性能优化(为什么查询速度会慢+慢查询基础:优化数据访问+重构查询的方式+查询执行的基础+MySQL查询优化器的局限性+查询优化器的提示+优化特定类型的提示+优化特定类型的查询+案例学习)
七、MySQL的高级特性(分区表+视图+外键约束+在MySQL内部存储代码+游标+绑定变量+用户自定义函数+插件+字符集和校对+全文索引+分布式(XA)事务+查询缓存)
八、优化服务器设置(MySQL配置的工作原理+什么不该做+创建MySQL配置文件+配置内存使用+配置MySQL的I/O行为+配置MySQL并发+基于工作负载的配置+完成基本配置+安全和稳定的设置+高级InnoDB设置)
九、操作系统与硬件优化(什么限制了MySQL的性能+如何为MySQL选择CPU+平衡内存和磁盘资源+固态存储+为备库选择硬件+RAID 性能优化+SAN和NAS+使用多磁盘卷+网络配置+选择操作系统+选择文件系统+选择磁盘队列调度策略+线程+内存交换区+操作系统状态)
十、复制(复制概述+配置复制+复制的原理+复制拓扑+复制和容量规划+复制管理和维护+复制的问题和解决方案+复制有多快+MySQL复制的高级特性+其他复制技术)
十一、可扩展的MySQL(什么是可扩展性+扩展MySQL+负载均衡)
十二、高可用性(什么是高可用性+导致宕机的原因+避免单点失效+如何实现高可用性+故障转移和故障恢复)
十三、云端的MySQL(云的优点、缺点和相关误解+MySQL在云端的经济价值+云中的MySQL的可扩展性和高可用性+四种基础资源+MySQL在云主机上的性能+MySQL数据库即服务(dbaas))
十四、应用层优化(常见问题+web服务器问题+缓存+拓展MySQL+MySQL的替代品)
十五、备份与恢复(为什么要备份+定义恢复需求+设计MySQL备份方案+管理和备份二进制日志+备份数据+从备份中恢复+备份和恢复工具+备份脚本化)
十六、MySQL用户工具(接口工具+命令行工具集+SQL实用集+监测工具)
总结
相信大家看完之后可以感受到这份笔记的详细度和专业程度,在我看来掌握MySQL数据库技术还是Java程序员必备的,特别是要想进入一线大厂,数据库技术是面试时必问的。