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
    这种操作会读出所有数据后重新写入
    alter table table_name
    alter column col_name set default 5
    这种操作会直接修改 .frm 文件,而不涉及表数据,非常快。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
canaan_wang
讨论数量: 0
发起讨论 只看当前版本


暂无话题~