2013-12-19 31 views
0

我有一個審計表,其中我添加了一個名爲「ExtraInfo」的列,該列可能存儲空值或者可能包含例如所有已分配給用戶名的用戶名一個小組;可能是100,200個用戶。 所以我給這個專欄爲nvarchar的類型(MAX),在將來我們的AD用戶可能會更加龐大,我不想面對關於列大小的問題。但是,我有以下的憂慮: -添加一個nvarchar(MAX)列到我的審計表

  1. 威爾SQL Server 2008 R2中只佔據了爲nvarchar(最大)目前擁有的字節,或將佔據其全部能力,即使科拉姆只包含10個字節,甚至它是空的?

  2. 是否有使用的審計表,我不知道里面nvarch(最大值)的任何缺點?

Thnaks

+1

如果您需要在該審計表中找到一個或多個行,並且您只希望從該ExtraInfo字段中查找特定用戶,那麼使用這樣的nvarchar字段將會導致將來出現問題。表越大,性能就越差。 –

+0

但我沒有對這個額外的信息列做任何搜索..以及我可以遵循什麼其他appraches? –

回答

1
  1. 會佔用所使用的容量,但是其背後被轉換爲招致額外的開銷文本字段中的場景。請參閱This以供參考。
  2. 正如我在我的評論中指出的那樣,如果您需要對此字段進行任何搜索,則不建議以這種方式存儲此類數據,因爲隨着表的增長它將失去性能。
相關問題