今天我们主要来看下,到底是什么影响了数据库的性能?找到问题的原因,才能解决问题。
整体上来说,影响数据库性能的因素,我们可以归为以下几个方面:
-
SQL 脚本
-
数据库服务器配置
-
网卡流量
-
磁盘 IO
-
大表操作
-
大事务操作
-
存储引擎
-
数据库参数配置
接下来我们就从这几个方面来逐一进行说明。
1. SQL 脚本
SQL 脚本会影响到 MySQL 的执行效率,这个大家都懂,面试八股文中常见问题之一。其实也不是面试官故意爱考这个问题,只是这个东西太重要了,根据松哥的经验,80% 的数据库问题,都是由慢 SQL 导致的,都可以通过 SQL 优化来解决,所以 SQL 优化技能对于开发者而言就非常重要了(有条件的公司也可以聘请 DBA,但是大部分公司是没有 DBA 的),这也是为什么我们在面试时经常会遇到 SQL 优化的原因。
那么慢 SQL 究竟会带来哪些风险呢?
超高的 QPS 和 TPS