我需要一个单独的表来进行nvarchar(max)描述

kai*_*lya 3 sql database database-design data-modeling

在我以前的一家公司中,我们曾经有一个单独的表,我们在文本类型列上存储了长描述.我认为这是因为文本类型带来的限制.

我现在正在为我正在处理的现有应用程序设计表格,这个问题出现在我的脑海中.我对在varchar(max)列上的相同项目表上存储我的项目的长描述感到很感兴趣.我知道我无法索引此列,但这没关系,因为我不会对这些列进行搜索.

到目前为止,我看不出有任何理由将此列分隔到另一个表.

如果我遗失了某些内容,或者如果将我的描述存储在varchar(max)上的同一个表上,那么请你给我输入是好方法吗?谢谢!

Rem*_*anu 6

将字段保留在它们所属的表中.自SQL Server 2005以来,引擎在大数据类型甚至可变长度短数据类型方面变得更加智能.旧的TEXT,NTEXT和IMAGE类型已弃用.具有MAX长度的新型号是它们的替代品.对于SQL 2005,每个分区有3种类型的底层分配单元:一个用于行,一个用于LOB,一个用于行溢出.MAX类型存储在LOB分配单元中,因此实际上引擎正在为您管理一个单独的表来存储大对象.行溢出单元用于行内可变长度数据,在更新后不再适合页面,因此它"溢出"到一个单独的单元中.

参见表和索引组织.