什么影响了数据库性能?
| 硬件 | 超高的CPU使用率-》宕机 内存 磁盘IO性能差 网络IO |
|---|---|
| 操作系统 | |
| 数据库配置 | 数据库配置参数 插件式存储引擎 |
| SQL | 表结构的设计 效率低下的SQL |
| 网络 | 大量的并发-》数据库连接数被占满 |
- 大表
大表中建立索引
MySQL<5.5时,建立索引会锁表
MySQL5.1 innodb和5,5之后的版本是不会锁表,但是会引起主从延迟
修改表结构锁表
- 大事务
- 锁定数据多,造成大量阻塞和锁超时
- 回滚所需时间比较长
大表的处理方法
- 分表
- 分表主键的选择
- 分表后跨分区查询和统计
- 大表进行历史数据归档
- 归档时间点的选择
- 如何进行归档操作
大事务的处理方法
避免一次处理太多数据,分批处理
移除不必要的SELECT操作
