大表添加字段、索引
发布日期:2021-06-28 20:50:53 浏览次数:2 分类:技术文章

本文共 823 字,大约阅读时间需要 2 分钟。

===添加字段====

1、添加字段:之前使用的一种方式

    ALTER TABLE table_A ADD column_A INT DEFAULT 0 COMMENT '测试数量'  AFTER LOG_FLAG ;

   备注:但是在大表,比如表数据量有千万条的时候,这个执行时间是长的是惊人的!所以不可行

 

2、 在实际的情况下。添加表字段要使用如下方式:

  ①、创建对应的的一个表格式复制(不要数据),切记一定要把原表中之前的索引都复制上;

 ②、在副本中添加字段

 ③、从原表中把数据拷贝到副表中

 ④、使用rename将原表和老表改名(这一步如果原表参与过存储过程,触发器等,一定要注意啊。防止存储过程中对应的表面也改变了!)

案例:

 /* 用户数据增加字段:人数量*/

 USE test;

  -- 创建副表

  CREATE TABLE account_tmp_bak LIKE account;

 --添加字段

  ALTER TABLE account_tmp_bak ADD count INT(11) DEFAULT 0 COMMENT '人数量' AFTER LOGIN_LOG_FLAG ;

  --复制数据 

  INSERT INTO account_tmp_bak(USER_ID,

   NAME,
   ADDR,
   PHONE,
   CREATE_TIME,
   LOGIN_LOG_FLAG
   FROM account;

  --重命名

  RENAME TABLE account TO account_old;

 --重命名

  RENAME TABLE account_tmp_bak TO account;

 --如果运行一段时间发现数据ok,可以删除掉

  /*  DROP TABLE account_old;  */

 

===添加索引===

首先应用一个高手的案例: 本人感觉这种方式太冒险,如果数据库主从备份要处理太多

建议不到万不得已还是稳妥一点。

思路还是上面的添加字段的思路!

转载地址:https://blog.csdn.net/yangleiGJ/article/details/53171072 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:log4j配置
下一篇:spring事务管理复习

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月03日 09时46分32秒