mysql架构学习
大表
记录行数巨大,单表超过千万行
表数据文件巨大,表数据文件超过10G
大表会造成的影响
- 慢查询:很难在一定的时间内过滤出所需要的数据
- 对DDL操作产生影响:建立索引需要很长的时间
- 对DDL操作产生影响:修改表结构需要长时间锁表(造成长时间的主从延迟,影响正常的数据操作)
处理数据库中的大表
分库分表把一张大表分成多个小表
定期进行历史归档
大事务
运行时间比较长,操作的数据比较多的事务
大事务造成的影响
- 锁定太多的数据,造成大量的阻塞和锁超时
- 回滚所需时间较长
- 执行时间长,容易造成主从延迟
处理大事务的方法
- 避免一次处理太多的数据,采用分批次处理
- 移出不必要在事务中的select操作