1、什么样的表可以称之为大表?
(1) 记录行数巨大,单表超过千万行
(2) 表数据文件巨大,表数据文件超过10G
2、大表对查询的影响
(1) 查询慢:很难在一定的时间内过滤出所需要的数据
3、大表对DDL操作的影响
建立索引需要很长的时间
风险:
(1) Mysql版本 <5.5 建立索引会锁表
(2) MySQL版本 >= 5.5 虽然不会锁表但会引起主从延迟
修改表结构需要长时间锁表
风险:
(1) 会造成长时间主从延迟
(2) 影响正常的数据操作
4、如何处理数据库中的大表
分库分表把一张大表分成多个小表
难点:
(1) 分表主键的选择
(2) 分表后跨分区数据的查询和统计
大表的历史数据归档减少度前后端业务的影响
难点:
(1) 归档时间点的选择
(2) 如何进行归档操作