Em alguns casos o armazenamento dos dados deve ser cuidadosamente pensado para otimização, algum requisito específico de consulta pode ser menos importante que o espaço utilizado. Nesse sentido o SQL Server 2008 oferece um novo tipo de coluna chamada Sparce Column.
Para criar uma Sparce Column, utilize a palavra reservada SPARSE, conforme código a seguir:
CREATE TABLE Colaborador ( ColaboradorId int PRIMARY KEY, Nome varchar(80) NOT NULL, Titulo varchar(20) SPARSE NULL, TipoColaborador smallint SPARSE NULL ) ; GO
Algumas considerações importantes sobre Sparce Columns:
- Uma coluna do tipo Sparce Column deve ser definida como NULL;
- Não pode ser dos tipos: text, ntext, image, timestamp, user-defined data type, geometry, ou geography; ou possuir um atributo FILESTREAM;
- Não deve conter um valor default ou rule;
- Uma coluna calculada não pode ser declarada com Sparse Column;
- Não pode fazer parte de um índice;
Pelo fato das colunas do tipo Sparse aumentarem a sobrecarga de consulta para valores não nulos você deve considerar sua utilização quando o espaço ganho for de 20% a 40%, pelo menos. Um boa opção é a utilização em conjunto com Filtered Indexes, pois é possível indexar apenas linhas que contenham valores preenchidos criando um índice menor.
Até o próximo post da série.
Trackbacks/Pingbacks