В чем разница между широкими и неширокими таблицами в SQL 2008? - PullRequest
12 голосов
/ 13 мая 2009

Я просматривал эту страницу в MSDN:

Характеристики максимальной емкости для SQL Server 2008

И это говорит следующее:

Максимальное число столбцов в таблице «нешироко»: 1 024
Максимальное число столбцов в «широкой» таблице: 30 000

Однако я не могу найти никакой информации о разнице между «широкими» и «не широкими» таблицами в SQL 2008. Если бы я хотел определить «широкую» таблицу, как бы я это сделал?

Ответы [ 4 ]

9 голосов
/ 13 мая 2009

Специальные типы таблиц

Вся необходимая информация содержится в этой статье MSDN.

Широкая таблица - это просто таблица с разреженными столбцами. Чтобы сделать таблицу широкой, вы просто добавляете набор столбцов к ее определению.

4 голосов
/ 13 мая 2009

Важно отметить, что ваши общие данные фиксированной и переменной длины по-прежнему ограничены общим объемом 8019 байт. Возможность делать это сумасшедшее очень большое количество столбцов поддерживается только в разреженных таблицах, где МОСТ данных равен нулю. В противном случае вы по-прежнему получаете строки, длина которых превышает 8019 байт, и заканчиваете строкой, которые не помещаются, или переполняете данные расширенной строки (что очень дорого поддерживать по сравнению с обычными страницами данных).

Существует действительно хорошая книга от Карен Делани, в которой есть множество внутренних функций и ограничений для SQL Server, озаглавленная Внутренние компоненты SQL Server 2008 . Если вы действительно в пределах низких уровней и как все делается в SQL Server, это фантастическое чтение. Это увеличит глубину ваших знаний о том, как SQL Server делает то, что он делает под капотом на уровне байтов на диске в некоторых случаях.

4 голосов
/ 13 мая 2009

Я бы сказал, что разница составляет около 28 976 столбцов.

3 голосов
/ 23 мая 2013

Другое отличие состоит в том, что широкие таблицы не работают с репликацией транзакций или слиянием. Смотрите раздел «Технологии SQL Server, которые поддерживают разреженные столбцы» здесь: http://msdn.microsoft.com/en-us/library/cc280604(v=sql.105).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...