MySql教程

mysql性能优化

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

1 mysql性能优化设计的层面非常复杂,通常我们将其分为三个阶段优化,性能依次提升

(一)硬件

        硬件层面优化方案通常是费力不讨好的事情,通常硬件的升级消耗的资源(时间,财力等)但是得到的效果却也是比较差的

(二)sql语句优化,

通常我们会聚焦到这个方面来进行sql语句的优化,在优化过程中尽量让mysql走索引查询,针对不同的存储引擎,也有不同的优化手段,这里只讲Innodb,

我们通常可以优化方案有:

索引优化,让查询数据尽量走索引,对于不需要查询的列数剧尽量不要全部查询出来.可以充分利用覆盖索引,主键索引减少回表次数

添加缓存:对于变动频率比较小的表数据,我们可以添加缓存,减少IO操作.

减少查询扫描行数:对于业务比较负责的查询,我们也可以进行sql的拆分,将一个复杂的查询拆分成多条简单的sql,虽然IO成本会增加,但是相对于10来秒的一个查询来说,拆分带来的效率提升也是很客观的.

对于慢查询来说可以通过开启慢查询日志来分析问题,mysql也提供一个工具供我们使用mysldumpslow,大家感兴趣可以去百度一下~

这里可以通过explain关键字来分析,后续会专门出一篇关于explain关键字的文章,敬请期待.

(三)mysql架构优化

        对于日常业务比较负责,我们拆分了服务情况下依然出现了性能瓶颈的,我们可以进行表和库的拆分,读写分离,mysql集群等,这类的优化方案通常是效果最好的,也是我们首选的优化方案.

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