NVARCHAR(MAX)是否比NVARCHAR(N)消耗更多的存储(物理大小)

问题描述 投票:0回答:1

在MSSQL中,如果您创建NVARCHAR(MAX)类型的列,并且在其中仅填充128个字符-它是否比将其创建为NVARCHAR(128)时消耗更多的存储空间?或者它的大小相同?] >

在MSSQL中,如果您创建NVARCHAR(MAX)类型的列,并且在其中仅填充128个字符-它是否比将其创建为NVARCHAR(128)时消耗更多的存储空间?或者它的大小相同?] >

sql-server database tsql size nvarchar
1个回答
0
投票

我做了一个小实验,使用下面的代码创建2个表,并用同样随机的128个字符填充它:

CREATE TABLE dbo.MyTextFix (
    [val] NVARCHAR(128) NOT NULL
)
CREATE TABLE dbo.MyTextMax (
    [val] NVARCHAR(MAX) NOT NULL
)

SET NOCOUNT ON;
DECLARE @COUNT INT = 0
WHILE (@COUNT <= 100000)
BEGIN
    DECLARE @VAL NVARCHAR(128) = CAST(NEWID() AS NVARCHAR(128)) + '-' + CAST(NEWID() AS NVARCHAR(128)) + '-' + CAST(NEWID() AS NVARCHAR(128)) + '-' + CAST(NEWID() AS NVARCHAR(128))
    INSERT INTO dbo.MyTextFix ([val]) VALUES (@VAL)
    INSERT INTO dbo.MyTextMax ([val]) VALUES (@VAL)
    SET @COUNT = @COUNT + 1
END
© www.soinside.com 2019 - 2024. All rights reserved.