将NVARCHAR(4000)列快速更改为NVARCHAR(260)

时间:2019-09-13 17:36:14

标签: sql sql-server

我有一个非常大的内存性能问题,因为它会通过两个NVARCHAR(4000)列来处理该表。事实是这些列永远不会比NVARCHAR(260)大。

使用

ALTER TABLE [table] ALTER COLUMN [col] NVARCHAR(260) NULL

导致SQL Server重写整个表(数十亿行,仅更改任何内容)是不可行的。增大列宽不会出现此问题,但减小它确实会出现。

我尝试创建约束CHECK (DATALENGTH([col]) <= 520)CHECK (LEN([col]) <= 260),但SQL Server仍决定重新编写整个表。

有什么方法可以将列数据类型更改为仅元数据操作?不用重写整个表吗?

0 个答案:

没有答案
相关问题