12

SQL Serverの最大容量の仕様を読んでいて、幅の広いテーブルの指定に出くわしました。標準のテーブルとは異なり、通常の(狭い)テーブルがより使い慣れた1024列に制限されているのに対し、30,000列も持つことができます。私は広いテーブルをグーグルで検索しましたが、何も関連性がないようです。この新しいテーブルタイプには、より正式な名前がありますか?

では、なぜ2つの異なるタイプのテーブルがあるのでしょうか。この特別なテーブルをどのように作成するのか、そしてより多くのデータを保持できるように見えるこのテーブルを使用する際の制限は何ですか。anhyone知っていますか?

4

5 に答える 5

10

ワイド テーブルは、列セットとスパース列を使用するテーブルです。行ごとに同じ幅の制限 (8019 バイト) に従うため、通常は、列がほとんどすべて null の場合にのみ使用します。

詳細については、こちらを参照してください...

于 2009-05-28T19:38:02.907 に答える
4

テーブルをワイド テーブルに作成または変更するには、列セットをテーブル定義に追加します。

ここから

于 2009-05-28T19:37:25.590 に答える
3

ただし、通常はこれを行いたくありません。行にはサイズ制限があり、関連テーブルを使用する場合よりもデータの取得に時間がかかる場合があります (1 対 1 の関係がある場合でも)。これが関連するテーブルよりも優れたアイデアである例はまだ見たことがありません。

于 2009-05-28T19:49:45.503 に答える
2

もう 1 つの制限は、幅の広いテーブルがトランザクションまたはマージ レプリケーションで機能しないことです。次の「スパース列をサポートする SQL Server テクノロジ」セクションを参照してください: http://msdn.microsoft.com/en-us/library/cc280604(v=sql.105).aspx

于 2013-05-23T16:11:36.983 に答える
1
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 列を超えるテーブルの作成

于 2013-10-16T17:27:20.437 に答える