¿Cómo se crea una amplia tabla en SQL Server 2008? y cuáles son sus limitaciones en el uso?

StackOverflow https://stackoverflow.com/questions/922707

  •  06-09-2019
  •  | 
  •  

Pregunta

estaba leyendo el Especificaciones de capacidad máxima para SQL Server y yo se encontró con la designación de una mesa amplia. Es diferente a una tabla estándar en que se puede tener hasta 30.000 columnas en lugar de una tabla normal (estrecho) que se limita a los más familiares 1024 columnas. Busqué en Google para la tabla de ancho, pero nada parece llegar relevante. ¿Esta nueva tipo de tabla tiene un nombre más formal ???

Entonces, ¿por qué tenemos dos tipos diferentes de tablas, ¿cómo se crea esta mesa especial y cuáles son las limitaciones del uso de esta tabla que aparentemente pueden almacenar más datos? anhyone saber?

¿Fue útil?

Solución

Una tabla ancha es una tabla que utiliza conjuntos de columnas y columnas dispersas. Todavía sigue las mismas restricciones de ancho por fila (8019 bytes) -. Así que es por lo general sólo lo utilizan cuando sus columnas son en su mayoría todos los nulos

Vea aquí para obtener más información sobre ...

Otros consejos

"Para crear o modificar una tabla en una mesa amplia, se agrega una la columna programada a la definición de la tabla ".

aquí

Por lo general no quiere hacer esto, sin embargo! Hay restricciones en el tamaño de las filas y puede ser más lento para recuperar los datos que si utiliza tablas relacionadas (incluso aquellas con uno-a-uno relaciones). Yo sin embargo, nunca he visto un caso en que esto era una idea mejor que las tablas relacionadas.

Otra limitación es que las tablas anchas no funcionan con la replicación transaccional o fusionar. Ver las "Tecnologías de SQL Server compatibles con columnas dispersas" sección aquí: 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);

crear bases de datos de prueba complejas - Crear una tabla con más de 1.024 columnas

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top