zoukankan      html  css  js  c++  java
  • 【Mysql】- pt-online-schema-change在线更新大表字段、加索引

    线上order表的数据已经将近千万,需要启动一个废弃的字段,更新字段长度,并且加索引:

    更新字段类型:

    pt-online-schema-change --charset=utf8 --no-check-replication-filters --no-version-check --user=user --password=pass --host=host_addr P=3306,D=shop,t=order --alter "MODIFY COLUMN parent_id int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级id' AFTER is_separate" --execute

    添加索引:

    pt-online-schema-change --charset=utf8 --no-check-replication-filters --no-version-check --user=user --password=pass --host=host_addr  P=3306,D=shop,t=order --alter "add INDEX parent_id(parent_id)" --execute

    关于online-schema-change

    是percona推出的一个针对mysql在线ddl的工具

    percona是一个mysql分支维护公司,专门提供mysql技术服务的。我的理解,类似于linux的分支redhat公司

    官网下载地址为:http://www.percona.com/redir/downloads/percona-toolkit/2.2.1/percona-toolkit-2.2.1.tar.gz

    原理上:

    在进行表结构的修改的时候,会先建立一个临时的表,然后进行原表的数据拷贝与结构修改,与此同时会在原表上建立触发器(update,insert,delete),把数据同步到临时表上,当临时表修改完毕后,最后进行一下表明的更改,所以理论上锁表的时间会很短。

    注:表一定要有主键

    得意时做事,失意时读书
  • 相关阅读:
    NDK开发,如何配置 debug环境
    NDK 开发中,各种指令集的坑,arm64
    levmar ndk 编译
    kubernetes 存储
    kubernetes 存储
    Docker 仓库
    docker 容器
    查看系统日志
    linux 进程命令小结
    DaemonSet
  • 原文地址:https://www.cnblogs.com/lanse1993/p/12519228.html
Copyright © 2011-2022 走看看