gpt4 book ai didi

sql-server - 空字符串占用 SQL Server 空间?

转载 作者:行者123 更新时间:2023-12-01 09:55:19 27 4
gpt4 key购买 nike

在 SQL Server 2012 及更高版本中,varchar 类型占用的空间有何损失?也就是说,如果我有 3 个类型为 nvarchar(或 varchar)的列,并且它们都是空的,那么表中占用了多少空间?

CREATE TABLE dbo.ReferringUrl 
(
Id int IDENTITY(1, 1) NOT NULL,
RequestUrl nvarchar(384) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
ReferringUrlName nvarchar(384) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
ReferringIpAddress nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
)

最佳答案

非空 varchar(n) 值需要 2 个字节的长度加上每个字符 1 个字节。 nvarchar(n) 每个字符需要 2 个字节。零长度字符串对于 varchar 和 nvarchar 都只需要 2 个字节,2 个字节用于长度加上零字节用于值。 NULL 值根本不需要空间,因为空位图中的相应位指示该值为空并且没有存储长度或值。

启用页面压缩后,空间要求会有所不同。在这种情况下,空间需求取决于前缀和字典压缩。

关于sql-server - 空字符串占用 SQL Server 空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29381088/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com