MySQL数据库(一):影响MySQL数据库性能的因素

1. 影响数据库的因素

SQL查询速度、服务器硬件、网卡流量、磁盘IO

超高的QPS和TPS:效率低下的SQL。(QPS:每秒钟处理的查询量,TPS:每秒钟处理的事务数)
大量的并发:数据库连接数被占满(max_connection默认为100,按需要进行修改)
超高的CPU使用率:因CPU资源耗尽而出现宕机
磁盘IO:磁盘IO的性能突然下降(使用更快的磁盘设备),其它大量消耗磁盘性能的计划任务(调整计划任务)
网卡流量:网卡IO被占满,导致无法连接数据库。(减少从服务器的数量、进行分级缓存、避免使用“select *”进行查询、分离业务网络和服务器网络)

2. 影响数据库性能的因素

大表带来的影响:
1. 慢查询:很难在一定时间内过滤所需要的数据
2. 大表对DDL操作的影响:建立索引需要很长时间。
3. 修改表结构需要长时间锁表(风险:会造成长时间的主从延迟,影响正常的数据操作)。
大事务带来的影响:
(大事务:运行时间比较长,操作数据比较多的事务)
1. 锁定太多的数据,造成大量的阻塞和锁超时。
2. 回滚时间比较长
3. 执行时间长,容易造成主从延迟
避免大事务带来的影响方法:
1. 避免一次处理太多的数据
2. 移出不必要在事务中的SELECT操作

3. 处理数据库中的大表

  1. 分库分表把一张大表分成多个小表:
    难点:分表主键的选择、分表后跨分区数据的查询和统计
  2. 大表的历史数据归档,减少对前后端业务的影响:
    难点:归档时间点的选择、如何进行归档操作

版权声明:本文为qq_33552049原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。