2.3. 缓存表和汇总表 与 Alter Table 优化
3.1 缓存表和汇总表#
- 用于对大量数据进行不精确统计
- 基本原理是损失实时和精确性,降低系统压力,获取大概数据。
- 比如获取网站今天的累计登录量,可每小时更新一次,每次只记录一小时内的数据。只需要定期执行单条 sql 。
3.2 Alter Table 优化#
- alter table 修改表结构,通常来说都是创建一个新的表后旧表数据全部写入新表,删除旧表,时间较长时,会导致服务中断。
3.2.1 优化操作#
- 在一台不提供服务的机器上执行 alter table 操作,结束后与主库进行切换。
- 影子拷贝,创建新表,与旧表进行重命名和删表操作交换两张表,工具 online schema change、Percona Toolkit
- 修改列的默认值不会引起表的重建,两种方式 这种操作会读出所有数据后重新写入
alter table table_name modify column col_name tinyint(3) not null default 5
这种操作会直接修改 .frm 文件,而不涉及表数据,非常快。alter table table_name alter column col_name set default 5
推荐文章: