Pregunta

Tengo una tabla que tiene muchos valores nulos en las columnas. Pero algunas columnas no contienen nulos en absoluto (aunque anulables). ¿Hay algún inconveniente para declarar todas estas columnas como escasas?

¿Fue útil?

Solución

Las columnas que son escasas pero que no tienen valores nulos en él ocuparán más espacio que una columna que no es de Sparse. Solo querrá usar una columna escasa cuando los datos sean realmente escasos.

Otros consejos

El mejor dibujo para mí llega a este mensaje de error a continuación:

Un índice comprimido no se admite en la tabla que contiene columnas dispersas o una columna de columna establecida

--Msg 10622, Level 16, State 1, Line 15
--The index 'I_applicantID' could not be created or rebuilt. A compressed index is not supported on table that contains sparse columns or a column set column.
CREATE NONCLUSTERED INDEX I_applicantID  ON [app].[applicantSkill] (  [applicantID] ASC  , [dateAdded] ASC  )  INCLUDE ( [ApplicantSkillID] , [skillDetails] , [skillID] , [skillLevelID])  
WITH (  PAD_INDEX = OFF, FILLFACTOR = 100  , SORT_IN_TEMPDB = OFF , IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ONLINE = OFF, DROP_EXISTING = ON, DATA_COMPRESSION=NONE, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON ) ON [NONCLUSTERED_INDEXES] 

Al intentar aplicar DATA_COMPRESSION=PAGE a un índice no agrupado.

puedes tener a sparser column o data compression en una mesa. para averiguar cuál sería mejor para cada mesa Mira esta respuesta.

enter image description here

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