MySql教程

影响MySQL性能的相关因素

本文主要是介绍影响MySQL性能的相关因素,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.商业需求对性能的影响

比如要求实时统计,那数据库访问的频率会非常高,对数据库的压力也会比较大

2.系统架构及实现对性能的影响

如果架构和设计不够充分,将所有的请求都直接到数据库,这样数据库压力就会大,所有我们应该尽量减少访问数据库的请求。

1)不适合在数据库中存放的数据

  • 二进制多媒体数据:非常消耗空间资源,并且数据库处理文件的时候也会消耗大量的数据库主机CPU资源。一般使用文件服务器解决,如果阿里云、腾讯、七牛的OSS。
  • 流水队列数据:产生数据的速度非常快,会频繁操作数据库。一般使用专门的队列软件解决
  • 超大文本数据

2)是否合理的利用了应用层的Cache机制?

  • 系统各种配置及规则数据:变动频率低,访问频率高适合存Cache
  • 活跃用户的基本信息数据:用户很少去修改自己的信息,但是系统获取这些数据是频繁的
  • 准实时的统计信息数据:
  • 其他一些访问频繁但变更较少的数据

3)过度依赖数据库SQL语句的功能导致造成数据库操作效率低下

  • 并不是SQL语句越长就越厉害,反而会导致效率低

4)其他不合理的架构导致性能低下

  • Cache系统的不合理利用导致Cache命中率低下造成数据库访问量的增加,同时也浪费了Cache 系统的硬件资源投入;
  • 过度依赖面向对象思想,对系统带来不必要的压力.
  • 对可扩展性的过渡追求,促使系统设计的时候将对象拆得过于离散,造成系统中大量的复杂Join 语句,而MySQLServer在各数据库系统中的主要优势在于处理简单逻辑的查询,这与其锁定的机制也有较大关系;
  • 对数据库的过渡依赖,将大量更适合存放于文件系统中的数据存入了数据库中,造成数据库资源的浪费,影响到系统的整体性能,如各种日志信息;
  • 过度理想化系统的用户体验,使大量非核心业务消耗过多的资源,如大量不需要实时更新的数据 做了实时统计计算。

3.设计对系统的性能影响

不合理的表设计可能会增加数据库的压力,从而影响性能。

类型越精确越优秀,类型越小越好。

4.硬件环境对系统性能的影响

服务器性能的优劣也会影响数据库的性能

5.Query语句对系统性能的影响

这个是重点放在后面

综合考虑

在整个系统的性能优化中,如果按照百分比来划分上面几个层面的优化带来的性能收益,可以得出大概如下的数据:

  • 需求和架构及业务实现优化:55%
  • Query 语句的优化:30%
  • 数据库自身的优化:15%

数据库应用系统的优化,实际上是一个需要多方面配合,多方面优化的才能产生根本性改善的事情。

总结如下:商业需求合理化,系统架构最优化,逻辑实现精简化,硬件设施理性化。

这篇关于影响MySQL性能的相关因素的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!