我有一张大桌子,希望在上面运行此查询:

ALTER TABLE Employee
DROP COLUMN Zipcode


Zipcode数据类型为varchar

这种方法不适合,因为它需要很长时间并且会增加日志空间,并且会持续数小时。谁能指导我一种不会影响数据库性能的独特且更复杂的方法?

最佳答案

实话实说,我认为您别无选择:ALTER TABLE语句(例如删除列)在非常大的表上可能要花费很长时间,因此我认为您必须在找到一些体面的机会时确定机会之窗停机时间,然后去做。您可能会考虑在持续时间内将数据库日志模型从FULL更改为SIMPLEBULK LOGGED,以帮助减少日志写入次数,并可能减少所花费的时间,但这绝对需要您不必担心实时运行的时间。交易流量。

关于sql - 如何快速从包含6亿行的表中删除列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23430748/

10-10 14:48