将nvarchar(MAX)列添加到审计表中

时间:2013-12-19 15:29:31

标签: c# sql-server sql-server-2008-r2

我有一个审计表,我在其中添加了一个名为“ExtraInfo”的列,此列可能存储空值,或者它可能包含例如已分配给组的所有用户名;可能是100,200个用户。 所以我给了这个列一个nvarchar(MAX)类型,因为将来我们的AD用户可能会变得更大,我不想面对有关列大小的问题。但我有以下问题: -

  1. SQL Server 2008 R2是否只占用nvarchar(max)当前拥有的字节数,或者即使colum只包含10个字节甚至是null也会占用其全部容量?

    < / LI>
  2. 在审核表中使用nvarch(max)是否有任何不足之处我不知道?

  3. Thnaks

1 个答案:

答案 0 :(得分:1)

  1. 它将占用所使用的容量,但在幕后它会转换为文本字段,从而产生额外的开销。请参阅This以供参考。
  2. 正如我在评论中指出的,如果您需要对此字段进行任何搜索,建议不要以这种方式存储此类数据,因为随着表格的增长,这会丢失性能。