通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

mysql百万级表在不停机的情况下增加一个字段要怎么处理的

mysql百万级表在不停机的情况下增加一个字段使用pt-online-schema-change。pt-online-schema-change是percona公司开发的一个工具,在percona-toolkit包里面可以找到这个功能,它可以在线修改表结构。首先它会新建一张一模一样的表,表名一般是_为前缀_new后缀,例如原表为t_user临时表就是_t_user_new。

一、mysql百万级表在不停机的情况下增加一个字段要怎么处理的

mysql百万级表在不停机的情况下增加一个字段使用pt-online-schema-change。pt-online-schema-change是percona公司开发的一个工具,在percona-toolkit包里面可以找到这个功能,它可以在线修改表结构。

首先它会新建一张一模一样的表,表名一般是_为前缀_new后缀,例如原表为t_user 临时表就是_t_user_new;

然后在这个新表执行更改字段操作;

然后在原表上加三个触发器,DELETE/UPDATE/INSERT,将原表中要执行的语句也在新表中执行;

最后将原表的数据拷贝到新表中,然后替换掉原表。

SQL语句:

ALTER TABLE tmp_task_user ADD support tinyint(1) unsigned NOT NULL DEFAULT ‘1’;

工具命令:

sh pt.sh tmp_task_user “ADD COLUMN support tinyint(1) unsigned NOT NULL DEFAULT ‘1’”

好处:

  • 降低主从延时的风险
  • 可以限速、限资源,避免操作时MySQL负载过高

建议:

  • 在业务低峰期做,将影响降到最低
  • 删除索引后再修改表结构,效率将大大提升

延伸阅读:

二、应用架构是什么

应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次:

  • 企业级的应用架构:企业层面的应用架构起到了统一规划、承上启下的作用,向上承接了企业战略发展方向和业务模式,向下规划和指导企业各个IT系统的定位和功能。在企业架构中,应用架构是最重要和工作量最大的部分,他包括了企业的应用架构蓝图、架构标准/原则、系统的边界和定义、系统间的关联关系等方面的内容。

单个系统的应用架构:在开发或设计单一IT系统时,设计系统的主要模块和功能点,系统技术实现是从前端展示到业务处理逻辑,到后台数据是如何架构的。这方面的工作一般属于项目组,而不是企业架构的范畴。

相关文章