Как создать широкую таблицу в SQL Server 2008? и каковы его ограничения на использование?
Я читал спецификации максимальной емкости для SQL Server, и я столкнулся с обозначением широкой таблицы. Он отличается от стандартной таблицы тем, что может содержать до 30 000 столбцов, а не обычную (узкую) таблицу, которая ограничена более знакомыми 1024 столбцами. Я googled для широкого стола, но ничего, кажется, не подходит. У этого нового типа таблицы есть более формальное имя???
Итак, почему у нас есть два разных типа таблиц, как вы создаете эту специальную таблицу и каковы ограничения использования этой таблицы, которые могут, по-видимому, содержать больше данных? anhyone знаете?
Ответы
Ответ 1
Широкая таблица - это таблица, в которой используются столбцы и разреженные столбцы. Он по-прежнему следует тем же ограничениям ширины в строке (8019 байт) - поэтому вы обычно используете его только тогда, когда ваши столбцы в основном имеют все значения.
Подробнее см. здесь...
Ответ 2
"Чтобы создать или изменить таблицу в широкую таблицу, добавьте в определение таблицы .
От здесь
Ответ 3
Обычно вы не хотите этого делать! Существуют ограничения по размеру строк, и медленнее получать данные, чем при использовании связанных таблиц (даже с отношениями "один к одному" ). Я еще никогда не видел экземпляр, где это была лучшая идея, чем связанные таблицы.
Ответ 4
Другим ограничением является то, что широкие таблицы не работают с транзакционной или слиянием репликации. См. Раздел "Технологии SQL Server, поддерживающие разреженные столбцы" здесь: http://msdn.microsoft.com/en-us/library/cc280604(v=sql.105).aspx
Ответ 5
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 столбцами