有两个大表(> 10 GB)。当添加一个字段到其中一个表的末尾时,复制到tmp表发生,当添加一个字段到另一个表时,它会立即改变表-你可以在phpmyadmin中的state选项卡,state列中看到它。为什么会发生这种情况?据我所知,在mysql和mariadb的后续版本中,这样的查询应该不需要将数据复制到临时表中。这两张table都是无辜的。示例查询
ALTER TABLE `mytable` ADD `last_field` VARCHAR(511) NULL DEFAULT NULL AFTER `last_field_now`
1条答案
按热度按时间vkc1a9a21#
MariaDB为
ALTER TABLE
-命令提供了多种算法。检查
INSTANT
alter算法的limitations,看看这些是否适用于您的表。