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默认大小配置等,而这些配置一般是和用户的安装环境以及使用场景有关系因此这些配置官方只会提供一个默认的配置具体的情况还是要有使用者去根据实际情况去修改关于配置项去修改需要注意两个成面
标签:数据库,配置,sql,mysql,优化,读写 From: https://www.cnblogs.com/cxxtreasure/p/17639177.html