sql优化
sql优化由4个部分,
第一个是硬件和操作系统成面优化,
第二个是架构设计层优化,
第三个是程序配置优化,
第四个是sql执行优化。
第一个
从硬件层面上来说影响mysql性能因素主要是 cpu可用内存大小磁盘读写速度网络带宽从操作系统层面上来说 应用文件句柄数操作系统的网络配置都会影响到mysql的性能优化,这部分的优化一般都是bda或者运维完成,在硬件基础资源的优化中我们重点关注的是服务本身所承载的体量,然后提出合理的指标,要求避免出现资源浪费的一个现象,
第二个架构优化,mysql是一个磁盘io访问非常频繁的关系型数据库,在高并发和高性能的场景中,mysql数据库必然会承受巨大的并发压力,在此时的优化可以分几个部分,
第一个是搭建mysql主从集群,单个mysql服务容易导致单点故障,一旦服务宕机将会导致依赖mysql应用无法向应主从集群或者主主集群都可以去保证服务的高可用性,第二个读写分离设计,在读多少写的场景中,通过读写的方案可以去避免读写冲突导致性能问题,第三个是引用分库分表的机制,通过分库可以降低单个服务器节省的一个io压力通过分表的方式可以降低单表数据量从而去提升sql查询效率第,四个针对热点数据可以引入更为高效的分布试数据库比如redis、MongoDB等他们可以很好的缓解mysql的访问压力同时还能提升数据的检索性能,
第三个点mysql的配置优化,mysql是经过互联网大厂检验过的生产级别的成熟数据库,对于mysql数据库本身的优化一般可以通过配置文件my.cnf来完成比如说mysql5.7版本默认的最大链接数量是151个这个值可以在my.cnf中修改第二个binlog日志默认是不开起,我们也可以在这个文件中去修改开启第三个是缓存池Bufferpool默认大小配置等,而这些配置一般是和用户的安装环境以及使用场景有关系因此这些配置官方只会提供一个默认的配置具体的情况还是要有使用者去根据实际情况去修改关于配置项去修改需要注意两个成面
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构