我们在SQL Server(2005 & 2008)数据库中有几个表,其中列定义为nvarchar(4000)。我们有时需要能够存储更多的数据,并考虑使用nvarchar(max)来代替。现在回答问题。将nvarchar(4000)转换为nvarchar(max)
- 我们应该知道哪些性能影响?
- 使用“alter table”进行实际迁移还是有其他方法是否安全?
- 在转换之前我们应该知道的其他东西吗?
问候 约翰
我们在SQL Server(2005 & 2008)数据库中有几个表,其中列定义为nvarchar(4000)。我们有时需要能够存储更多的数据,并考虑使用nvarchar(max)来代替。现在回答问题。将nvarchar(4000)转换为nvarchar(max)
问候 约翰
我们不得不因为换做这个问题,以及在几个景点
如果文本与其余数据不匹配,则文本将存储在另一页中。这会导致读取额外的数据库页面。所以性能可能会变慢。在负载很重,响应时间非常有限的系统上,也许。
SQL Server Management Studio可能会重命名当前表,使用新布局创建一个新表,复制数据,删除旧表。 这可能会很慢。
我不知道alter table是否可以工作。
您的第二点的条件值得重复 - 它通常需要计划达到该状态。 – 2010-06-02 13:49:14