什么影响了数据库性能?

硬件 超高的CPU使用率-》宕机
内存
磁盘IO性能差
网络IO
操作系统
数据库配置 数据库配置参数
插件式存储引擎
SQL 表结构的设计
效率低下的SQL
网络 大量的并发-》数据库连接数被占满



  1. 大表

大表中建立索引
MySQL<5.5时,建立索引会锁表
MySQL5.1 innodb和5,5之后的版本是不会锁表,但是会引起主从延迟
修改表结构锁表

  1. 大事务
    1. 锁定数据多,造成大量阻塞和锁超时
    2. 回滚所需时间比较长

大表的处理方法

  1. 分表
    1. 分表主键的选择
    2. 分表后跨分区查询和统计
  2. 大表进行历史数据归档
    1. 归档时间点的选择
    2. 如何进行归档操作

大事务的处理方法

避免一次处理太多数据,分批处理
移除不必要的SELECT操作