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)
优化维度
用一个例子来演示会更加清晰
分类:
mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2019-03-13 linux 修改内核参数 如何生效?
2018-03-13 haproxy + lvs异同(优点-缺点)