Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将nvarchar(MAX)列添加到我的审核表_C#_Sql Server_Sql Server 2008 R2 - Fatal编程技术网

C# 将nvarchar(MAX)列添加到我的审核表

C# 将nvarchar(MAX)列添加到我的审核表,c#,sql-server,sql-server-2008-r2,C#,Sql Server,Sql Server 2008 R2,我有一个审计表,我在其中添加了一个名为“ExtraInfo”的列,该列可能存储空值,或者它可能包含例如分配给组的所有用户名;可能有100200个用户。 所以我给了这个专栏一种nvarchar(MAX),因为将来我们的广告用户可能会变得更庞大,我不想面对关于专栏大小的问题。但我有以下忧虑:- SQL server 2008 R2将只占用nvarchar(最大值)当前拥有的字节,还是将占用其全部容量(即使列仅包含10个字节或甚至为空) 在我不知道的审计表中使用nvarch(max)有什么缺点吗 蒂纳

我有一个审计表,我在其中添加了一个名为“ExtraInfo”的列,该列可能存储空值,或者它可能包含例如分配给组的所有用户名;可能有100200个用户。 所以我给了这个专栏一种nvarchar(MAX),因为将来我们的广告用户可能会变得更庞大,我不想面对关于专栏大小的问题。但我有以下忧虑:-

  • SQL server 2008 R2将只占用nvarchar(最大值)当前拥有的字节,还是将占用其全部容量(即使列仅包含10个字节或甚至为空)

  • 在我不知道的审计表中使用nvarch(max)有什么缺点吗

  • 蒂纳克斯

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

  • 如果您需要在该审核表中查找一行或多行,而您只希望从该ExtraInfo字段中查找特定用户,那么使用这样的nvarchar字段将在将来导致问题。表越大,性能就越差。但是我没有研究这个额外的信息列。。还有什么其他方法我可以遵循?