【发布时间】:2013-12-19 15:29:31
【问题描述】:
我有一个审计表,我在其中添加了一个名为“ExtraInfo”的列,该列可能存储空值,或者它可能包含例如已分配给一个组的所有用户名;可能是 100、200 个用户。 所以我给这个专栏一个 nvarchar(MAX) 类型,因为将来我们的 AD 用户可能会变得更大,我不想面对关于专栏大小的问题。但我有以下担忧:-
-
SQL server 2008 R2 会只占用 nvarchar(max) 当前拥有的字节数,还是会占用全部容量,即使该列仅包含 10 个字节甚至为空?
在我不知道的审计表中使用 nvarch(max) 有什么缺点吗?
感谢
【问题讨论】:
-
如果您需要在该审计表中查找一个或多个行,而您只想从该 ExtraInfo 字段中查找特定用户,那么使用这样的 nvarchar 字段将在未来导致问题。该表越大,性能就越差。
-
但是我没有在这个额外的信息列上做任何搜索.. 以及我可以遵循哪些其他方法?
标签: c# sql-server sql-server-2008-r2