A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Microsoft SQL Server 2008 SPARSE. Para que serve? –Otimiza o espaço de armazenamento de colunas com valores NULL.

Apresentações semelhantes


Apresentação em tema: "Microsoft SQL Server 2008 SPARSE. Para que serve? –Otimiza o espaço de armazenamento de colunas com valores NULL."— Transcrição da apresentação:

1 Microsoft SQL Server 2008 SPARSE

2 Para que serve? –Otimiza o espaço de armazenamento de colunas com valores NULL

3 Prós Diminui o tamanho do banco de dados

4 Contra Recurso disponível apenas no SQL Server 2008 A coluna não pode ter grande quantidade de valores NOT NULL

5 Como o SPARSE consegue ter menor tamanho? Quando um valor NULL é armazenado em uma coluna SPARSE, nenhum armazenamento é consumido. Contudo, os valores não NULLexigem 4 bytes de espaço de armazenamento, além do espaço normal consumido pelo tipo de dados.

6 Ambiente de teste Será criado 2 tabelas com a mesma estrutura, uma irá utilizar o SPARSE e a outra não CREATE TABLE [dbo].[Cliente_com_SPARSE] ( [IdCliente] int IDENTITY PRIMARY KEY, [Nome] varchar(50) NOT NULL, [SobreNome] varchar(50) NOT NULL, [Sexo] bit SPARSE NULL, [Telefone] varchar(15) SPARSE NULL, [Valor] money SPARSE NULL, [Comentário] varchar(1000) SPARSE NULL ) CREATE TABLE [dbo].[Cliente_sem_SPARSE] ( [IdCliente] int IDENTITY PRIMARY KEY, [Nome] varchar(50) NOT NULL, [SobreNome] varchar(50) NOT NULL, [Sexo] bit NULL, [Telefone] varchar(15) NULL, [Valor] money NULL, [Comentário] varchar(1000) NULL )

7 Ambiente de teste Insere a mesma quantidade de dados nas 2 tabelas INSERT INTO Cliente_com_SPARSE(Nome,SobreNome) VALUES('Nome','Sobrenome') GO 105000 INSERT INTO Cliente_sem_SPARSE(Nome,SobreNome) VALUES('Nome','Sobrenome') GO 105000

8 Ambiente de teste Insere 105.000 registros iguais nas 2 tabelas INSERT INTO Cliente_com_SPARSE(Nome,SobreNome) VALUES('Nome','Sobrenome') GO 105000 INSERT INTO Cliente_sem_SPARSE(Nome,SobreNome) VALUES('Nome','Sobrenome') GO 105000

9 Ambiente de teste O resultado para análise pode ser obtido com a stored procedure sp_spaceused Tabela com SPARSE exec sp_spaceused Cliente_com_SPARSE; Tabela sem SPARSE exec sp_spaceused Cliente_sem_SPARSE; Resultado obtido: Usando a coluna Data como parâmetro é possível afirmar que: SPARSE ocupou menos espaço de armazenamento.

10 Ambiente de teste E se inserir mais 105.000 registros, agora passando dados não nulos para as duas tabelas. O resultado obtido foi o seguinte: Comando executado: INSERT INTO Cliente_com_SPARSE(Nome,SobreNome,Sexo,Telefone, Valor,Comentário) values('Nome','Sobrenome',1,'(xx) xxxx-xxxx ',15000,'Comentário: nenhum') GO 105000 INSERT INTO Cliente_sem_SPARSE(Nome,SobreNome,Sexo,Telefone, Valor,Comentário) values('Nome','Sobrenome',1,'(xx) xxxx-xxxx ',15000,'Comentário: nenhum') GO 105000 Resultado obtido O SPARSE não é mais recomendado pois ocupou mais espaço de armazenamento.


Carregar ppt "Microsoft SQL Server 2008 SPARSE. Para que serve? –Otimiza o espaço de armazenamento de colunas com valores NULL."

Apresentações semelhantes


Anúncios Google