我们的 SQL Server (2005 & 2008) 数据库中有一些表,其列定义为 nvarchar(4000)。我们有时需要能够存储比这更多的数据并考虑使用 nvarchar(max) 代替。现在回答问题。
- 我们应该知道任何性能影响吗?
- 使用“alter table”进行实际迁移是否安全,还是有其他方法?
- 在我们转换之前我们还应该知道什么?
问候约翰
我们的 SQL Server (2005 & 2008) 数据库中有一些表,其列定义为 nvarchar(4000)。我们有时需要能够存储比这更多的数据并考虑使用 nvarchar(max) 代替。现在回答问题。
问候约翰
我们不得不在几个地方这样做
如果文本不适合包含其余数据的页面,则文本将存储在另一个页面中。这会导致额外的数据库页面读取。所以性能可以/将会变慢。也许在负载很重且响应时间非常有限的系统上。
SQL Server Management Studio 可能会重命名当前表,使用新布局创建新表,复制数据,删除旧表。这可能很慢。
我不知道alter table 是否会起作用。