Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-1亿行表-每小时添加一列?-我怎样才能加快速度?_Mysql_Large Files - Fatal编程技术网

MySQL-1亿行表-每小时添加一列?-我怎样才能加快速度?

MySQL-1亿行表-每小时添加一列?-我怎样才能加快速度?,mysql,large-files,Mysql,Large Files,我有一个1亿行的表,添加一列需要几个小时,更不用说运行更复杂的查询了。我怎样才能加快速度 正在尝试运行以下操作: Alter Table diablo add NGAGE_URN varchar(100) FIRST; 任何帮助都会很好:) 干杯, Lucas使用列创建一个新表。将旧表中的所有记录插入其中。放下那张旧桌子。将新名称重命名为正确的名称 Mysql以添加列的速度慢而臭名昭著。我看到只有几亿行的数据需要6个小时。更大的问题是,在更改过程中,表被独占锁定,因此在更改过程中您处于脱机状态

我有一个1亿行的表,添加一列需要几个小时,更不用说运行更复杂的查询了。我怎样才能加快速度

正在尝试运行以下操作:

Alter Table diablo add NGAGE_URN varchar(100) FIRST;
任何帮助都会很好:)

干杯,
Lucas

使用列创建一个新表。将旧表中的所有记录插入其中。放下那张旧桌子。将新名称重命名为正确的名称

Mysql以添加列的速度慢而臭名昭著。我看到只有几亿行的数据需要6个小时。更大的问题是,在更改过程中,表被独占锁定,因此在更改过程中您处于脱机状态

创建一个新表,稳定地用旧数据填充它。当你几乎是最新的,关闭你的应用程序,复制剩余的行,重命名表,使新表具有旧名称,然后你就可以开始了。停机时间:几分钟


您必须处理在开始移动数据后发生的更新,因此
时间戳
或类似的时间戳会有所帮助。

使用或根据引用完整性和约束,您可能会遇到问题。我确信MySQL有一个选项,可以在您执行此操作时对约束进行检查。+1表示无法解释的否决票。
pt-online-schema-change
是一个救星。