在为临时表执行CREATE TABLE
后,我正在验证该字段的大小是否适合我需要使用的内容。
令我惊讶的是,SQL Server(Azure SQL)报告该表现在具有两倍的大小。这是为什么?
这是我按顺序执行的:
CREATE TABLE #A ( Name NVARCHAR(500) not null )
EXEC tempdb..sp_help '#A'
答案 0 :(得分:3)
NVARCHAR每个字符显示2个字节。因此,如果大小为500,则显示大小为1000.它是存储unicode格式数据。
答案 1 :(得分:3)
SQL Server中的NVARCHAR
列始终存储每个字符为2个字节。
因此,如果您要求500个字符(每个2个字节),显然这会导致列大小为1000个字节。
在SQL Server中永远都是这样的 - 这不是新的或Azure特定的。