我正在读 SQL Server 的最大容量规格 我发现了一张宽桌子的名称。它与标准表的不同之处在于,标准表可以包含多达 30,000 列,而普通(窄)表则仅限于更熟悉的 1024 列。我用谷歌搜索了宽表,但似乎没有相关的内容。这种新的表类型有更正式的名称吗???

那么为什么我们有两种不同类型的表,如何创建这个特殊的表以及使用这个看似可以容纳更多数据的表有哪些限制?有人知道吗?

有帮助吗?

解决方案

一个广泛表是一个表,列使用集和疏列。它仍然遵循同样的宽限制每个行(8019字节)-所以你会一般只有使用它的时候你的列所有主要空。

在这里看到更多的信息...

其他提示

“要创建或更改一个表成为一个广泛表中,添加一个列设置以表定义“。

这里

您通常不希望但是要做到这一点!有对行大小的限制,它可以慢检索比如果您使用相关的表(甚至是那些一到一对一的关系)的数据。我从来没有看到这样的情况:这比相关表一个更好的主意。

另一个限制是宽表不与事务或合并复制工作。请参阅“SQL Server的技术支持稀疏列”这里的部分:的 http://msdn.microsoft.com/en-us/library/cc280604(v = SQL.105)的.aspx

CREATE TABLE [UR_DB].[dbo].[DesiredTableName]
(DocID int PRIMARY KEY,
Title varchar(200) NOT NULL,
ProductionSpecification varchar(20) SPARSE NULL,
ProductionLocation smallint SPARSE NULL,
MarketingSurveyGroup varchar(20) SPARSE NULL,
MarketingProgramID int SPARSE NULL,
SpecialPurposeColumns XML COLUMN_SET FOR ALL_SPARSE_COLUMNS);

创建复杂的测试数据库 - 创建包含超过 1,024 列的表

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top