添加空列非常大的MySQL表-是否比添加到一个小表需要更长的时间?
逻辑上说,即使添加到非常大(约800 GB)的表中,添加添加空列非常大的MySQL表-是否比添加到一个小表需要更长的时间?,mysql,sql,alter-table,Mysql,Sql,Alter Table,逻辑上说,即使添加到非常大(约800 GB)的表中,添加NULL列也应该非常快 显然,如果ALTER表对于新列有一个notnull,这将花费很长时间,但是对于NULL列如何?这和改变一张小桌子相比怎么样 我使用的是MySql 5.5 谢谢 MySQL实现为一个表 在大多数情况下,altertable会临时复制原始表(…) 将更改合并到副本中,删除原始表格, 并重新命名新的 手册继续解释“大多数情况”的含义。基本上:添加、删除和重新定义列 只有表的大小才重要,列类型对执行时间几乎没有影响。在系统上
NULL
列也应该非常快
显然,如果ALTER表
对于新列有一个notnull
,这将花费很长时间,但是对于NULL
列如何?这和改变一张小桌子相比怎么样
我使用的是MySql 5.5
谢谢 MySQL实现为一个表
在大多数情况下,altertable
会临时复制原始表(…)
将更改合并到副本中,删除原始表格,
并重新命名新的
手册继续解释“大多数情况”的含义。基本上:添加、删除和重新定义列
只有表的大小才重要,列类型对执行时间几乎没有影响。在系统上计时如何?逻辑是。。。令人惊讶的有时我会去,但很明显,我听到了其他可能尝试这样做的人对他们在MySQL上的体验所说的话。否则我就不会发帖了,是吗?:)@确切地说,因此hahaalternate的问题是创建一个新的带有新列的临时表,复制数据,重命名旧表,重命名新表,进行验证,在需要时删除旧表。mysql在向大型表添加列时速度非常慢,这是出了名的。我已经看到,仅仅10个百万行就需要几个小时。谢谢,这就是我要找的。我在文件中看到了这一点,但不确定他们所说的“大多数情况”是什么意思。是的,我也不得不读两遍才能弄明白这一点。事实上,它们提供了一个操作列表,其中“可以使用不需要临时表的就地ALTER表”。