首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重命名表需要多长时间?

问重命名表需要多长时间?
EN

Database Administration用户
提问于 2013-11-23 08:27:17
回答 1查看 34.7K关注 0票数 16

重命名一个大小为219 GB的表需要多长时间?

这是我们服务器的规范:

  • 内存: 65 GB
  • 可用磁盘空间: 266 GB

MySQL Ver 14.12下段5.0.77

很抱歉给你造成了混乱。我们的计划是重命名一个大小为219 GB的MySQL表。要多长时间?我们需要有一个很大的磁盘空间来进行这种迁移吗?

表的引擎:InnoDB。

EN

回答 1

Database Administration用户

发布于 2013-11-23 15:46:37

MySQL文档参见http://dev.mysql.com/doc/refman/5.6/en/rename-table.htmlabout

代码语言:javascript
复制
RENAME table a TO b

看起来很糟糕,所以准确地说是因为

执行重命名时,不能有任何锁定的表或活动的事务。您还必须拥有原始表上的ALTER和DROP权限,以及新表上的CREATE和INSERT权限。

如果您读到这一点,看起来MySQL需要创建一个新的表b,将数据从表a复制到表b (INSERT),并删除表a。

我分析了SQL命令后面MySQL 5.0.77的源代码

代码语言:javascript
复制
RENAME table a TO b

它看起来像是一个几乎即时的操作,因为只有

  1. .frm (表定义文件)
  2. .trg (触发文件)

需要触摸(重命名)文件,不需要在表之间复制实际数据。这让我想知道为什么要为这个命令使用INSERT特权。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/53836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档