当前位置: 代码网 > it编程>数据库>Mysql > mysql如何为大表新增字段或索引

mysql如何为大表新增字段或索引

2025年03月09日 Mysql 我要评论
问题mysql 为大表增加或增加索引等操作时,直接操作原表可能会因为执行超时而导致失败。解决办法如下。解决办法(1)建新表-复制表a 的数据结构,不复制数据create table b like a;

问题

mysql 为大表增加或增加索引等操作时,直接操作原表可能会因为执行超时而导致失败。

解决办法如下。

解决办法

(1)建新表-复制表a 的数据结构,不复制数据

create table b like a;

(2)加字段或索引-表b加上新字段或索引

(3)导数据到新表-把原有数据导入新表

  • 未新增字段时
insert into b select * from a [where 条件]
  • 添加了新字段时。
  • 假设添加字段名为data_code(默认值为空),且字段位于id之后
insert into b select id, '' data_code, 其他旧字段 from a [where 条件]

数据量达到几千万时,可以添加where 条件,分批将数据导入到新表。防止数据导入超时。

(4)改表名-修改表a 的名称为a_old,修改b表的表名为a

备注

  • (1)mysql查询一个表中的所有字段的方法
select concat(column_name ,',') from information_schema.columns where table_name = '表名' and table_schema = '库名';
  • (2)可以在idea中的database上执行sql,上面可以设置执行超时时间。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

  • MySQL主从同步必然有延迟如何解决

    MySQL主从同步必然有延迟如何解决

    mysql主从同步必然有延迟如何解决mysql 主从同步延迟是生产环境中常见的问题,虽然无法完全消除延迟(受网络、硬件、负载等因素影响),但可以通过多种方法来缓... [阅读全文]
  • MySQL8.0移除传统的.frm文件原因及解读

    MySQL8.0移除传统的.frm文件原因及解读

    mysql 8.0 移除传统的 .frm 文件是为了解决旧架构的局限性,并引入更高效、可靠的事务性数据字典。以下是主要原因和影响:1. 数据一致性与事务性支持旧... [阅读全文]
  • MySQL读写分离的项目时间实践

    读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力。一、一主一从读写分离1、一主一从…

    2025年03月06日 数据库
  • MyCat 垂直分片和水平拆分的实现

    一、垂直分片1.1 场景在业务系统中,涉及以下表结构,但是由于用户与订单每天都会产生大量的数据,单台服务器的数据存储及处理能力是有限的,可以对数据库表进行拆分,原有的数据库表如下。…

    2025年03月06日 数据库
  • MySQL常见的存储引擎和区别说明

    MySQL常见的存储引擎和区别说明

    mysql常见的存储引擎和区别说明mysql 支持多种存储引擎,不同引擎在事务、锁机制、性能、存储方式等方面存在显著差异。以下是常见的存储引擎及其区别:1. i... [阅读全文]
  • mysql数据库的五种安装方式总结

    mysql数据库的五种安装方式总结

    第一种,windows版本安装一、准备工作下载mysql安装包访问mysql官网:点击页面的 “mysql community server&rdq... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com