Sum*_*umo 6 t-sql sql-server sql-server-2008-r2
我需要一个列的简单调整大小从VARCHAR(36)到VARCHAR(40).
如果您尝试使用SQL Server企业管理器,它生成的脚本实际上是使用新结构创建一个新表,将现有表中的所有数据插入其中,删除现有表,重命名新表,并重新创建任何表索引.
如果您阅读文档(以及许多在线资源,包括SO),您可以使用ALTER语句进行调整大小.
是否ALTER以任何方式影响数据的存储方式?指标?统计?我想避免性能命中因为这个修改由于表可能变大.
gbn*_*gbn 13
只需使用ALTER TABLE.SSMS有时候有点呃傻
您需要删除并重新创建依赖约束(FK,唯一,索引,检查等)
但是,这只是一个元数据更改,对于任何大小的表都会非常快(除非您还将NOT NULL更改为NULL或将varchar更改为nvarchar等)
小智 5
不,ALTER TABLE( http://msdn.microsoft.com/de-de/library/ms190273.aspx ) 是 Microsoft 打算进行此类更改的方式。
如果您不向命令添加额外的选项,则不会损害任何索引或统计信息。也没有给出数据丢失的可能性,因为您只是使列更大。一切都应该没问题。
| 归档时间: |
|
| 查看次数: |
6295 次 |
| 最近记录: |