我有一个大表,我想在上面运行这个查询:
ALTER TABLE Employee
DROP COLUMN Zipcode
Zipcode
数据类型为 varchar
。
这种方法不合适,因为它需要很长时间并增加日志空间,并且会持续数小时。任何人都可以指导我一种不会影响数据库性能的独特且更复杂的方法吗?
最佳答案
你真的测试过这个吗?删除列是即时的。你没有问题要解决。
好的,看来您遇到了阻塞问题。你还没有跟进我对此的评论。你应该。
如果正在运行的事务正在使用您要更改的表,则更改必须等待。找出谁在阻止访问该表。运行 sp_who2
并查看 blocked-by 列。
关于sql - 如何快速删除包含6亿行的表中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23430748/