mysql技术点 + MySQL5 版本的组件架构示意图
1.技术点
完成业务功能,要懂基本的Sql语句。
做性能优化,要懂索引,懂引擎。
做分库分表,要懂主从,懂读写分离。
做安全,要懂权限,懂备份,懂日志。
做云数据库,要懂源码,懂瓶颈。
https://zhuanlan.zhihu.com/p/352066490
2.进行性能分析。对于 MySQL 数据库来说,我们想对它进行分析,同样也需要看它的组件架构图
《22丨MySQL:数据库级监控及常用计数器解析(上)》
得知道这些模块的功能及运行逻辑。
比如说,我们看到了这些模块之后,需要知道,当一个 SQL 通过 Connection Pool 进到系统之后,需要先进入 SQL Interface 模块判断这个语句,知道它是一个什么样的 SQL,涉及到了什么内容;
然后通过 Parser 模块进行语法语义检查,并生成相应的执行计划;
接着到 Optimizer 模块进行优化,判断走什么索引,执行顺序之类的;
然后就到 Caches 中找数据,如果在 Caches 中找不到数据的话,就得通过文件系统到磁盘中找。
3. MySQL查询运行逻辑图
一份超详细的MySQL高性能优化实战总结!-腾讯云开发者社区-腾讯云 (tencent.com)
优化维度
用一个例子来演示会更加清晰