SQL Server表为特定数据类型占用太多空间

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

我在SQL Server数据库中有一个表,该表有两列:

ItemID1  nvarchar(1200)
ItemID2  nvarchar(1200)

基本上,我希望将一个数值存储到其中(我只有在创建表几个月后才意识到这一点)。但是其中一些也是文本-不是数字。表的大小增加到了12.1GB。现在,大多数表都以"Unknown ItemID number"

的形式存储在数据库中

我现在意识到nvarchar(length)每个字符需要2个字节+ 2个字节来保存字符串的长度)。所以基本上在我的情况下,我的长度为nvarchar 21(总字符串长度)* 2 =字符串中所有字符的42个字节+2个字节来保存字符串长度=每个记录44个字节...

现在我的问题是:

  1. 如果我将这些字符串值改回NULL类型(因为两列都可以为空)-我是否会立即节省一些空间并看到它反映在DB表大小上?

  2. 这是否还会反映SQL Server的RAM使用情况-即。在SQL Server上看到较少的RAM使用情况?

谢谢大家

sql-server sql-server-2008 sql-server-2012 storage nvarchar
1个回答
0
投票

就像评论中提到的,您需要在此处修复您的数据类型。我个人将通过几个步骤进行此操作。您已经在此处标记了,但是我假设

© www.soinside.com 2019 - 2024. All rights reserved.