码迷,mamicode.com
首页 > 数据库 > 详细

mysql 大表加索引或者往大表里面加字段

时间:2021-04-16 12:00:06      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:基于   ODB   表名   字段   必须   添加   管理   innodb   实现   

   通常我们往大表里面添加索引或者添加新字段,不能直接执行,执行时间很长,造成锁表操作,必须借助于pt或者gh-ost等数据库管理工具添加。

    例子如下:

        pt-online-schema-change -h服务器地址 -u‘用户名‘ -p‘密码‘ --alter="加字段|索引语句 " --execute D=数据库名称,t=表名

   实现的逻辑是基于原表创建一个临时表,然后对临时表(空表)进行添加索引或者添加字段操作,然后将表a的数据迁移到临时表b(为了保持这段时间新的操作不会影响一致性,使用了redo_log),然后两表换名,类似于重建表(或者收缩表)的语句:alter table T engine = innodb;----------能够去除老表空洞,页分裂问题,达到收缩表空间的目的

mysql 大表加索引或者往大表里面加字段

标签:基于   ODB   表名   字段   必须   添加   管理   innodb   实现   

原文地址:https://www.cnblogs.com/zc2276853313/p/14663860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!