mysql优化思路(本地上传)
MySQL优化从四个方面入手
- 硬件和操作系统层面的优化
- 架构设计层面的优化
- MySQL程序配置的优化
- SQL执行的优化
1.硬件和操作系统层面的优化
硬件层面主要是cpu,内存,网络带宽,磁盘读写
操作系统主要是网络配置,应用文件句柄数
(这部分优化由DBA或运维完成,加硬件投入解决100%问题,所以要合理需求避免浪费)
2.架构设计层面的优化
高并发高性能场景下
主从集群,避免单点故障导致的服务失效,主从-主主都可以保证高可用
读写分离,读多写少,避免读写冲突导致的性能问题
分库分表,分库:降低单个数据库服务器的io压力,分表:降低单表数据长度,提升sql查询效率
热点数据,redis,降低数据库压力,提升检索性能
3.MySQL程序配置的优化
修改配置文件my.cnf,修改默认最大连接数(5.7最大151个)
开启binlog日志
修改缓存池bufferpool默认大小配置
具体情况具体分析
配置作用域:会话级别和全局范围,是否支持热加载
全局参数的设定对于已存在的会话是无法生效的
全局类的统一配置,配置在默认配置文件中,否则重启导致配置失效
4.SQL执行的优化
慢sql优化:慢查询日志和慢查询日志工具分析,
执行计划分析:explain关键字,查看执行计划(重点关键字type key rows filterd)
使用show profile工具分析会话中资源消耗,可以保存最近15次运行结果
优化器,查看sql运行过程中的cost花销,包括单表多表,来定位
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署