Microsoft SQL Server 2008 SPARSE
Ambiente de teste Uma tabela é criada com 3 campos: CREATE TABLE [dbo].[Cliente_com_campos_basicos] ( [IdCliente] int IDENTITY PRIMARY KEY, [Nome] varchar(50) NOT NULL, [SobreNome] varchar(50) NOT NULL ) registros são inseridos INSERT INTO Cliente_com_campos_basicos(Nome,SobreNome)values('Nome','Sobrenome') GO Comando executado para obter o tamanho usado: exec sp_spaceused Cliente_com_campos_basicos;
4 novas colunas são adicionadas: ALTER TABLE Cliente_com_campos_basicos ADD [Sexo] bit NULL ALTER TABLE Cliente_com_campos_basicos ADD [Telefone] varchar(15) NULL ALTER TABLE Cliente_com_campos_basicos ADD [Valor] money NULL ALTER TABLE Cliente_com_campos_basicos ADD [Comentário] varchar(1000) NULL Resultado exec sp_spaceused Cliente_com_campos_basicos; Ambiente de teste
CREATE TABLE [dbo].[Cliente] ( [IdCliente] int IDENTITY PRIMARY KEY, [Nome] varchar(50) NOT NULL, [SobreNome] varchar(50) NOT NULL ) INSERT INTO Cliente(Nome,SobreNome)values('Nome','Sobrenome') GO ALTER TABLE Cliente ADD [Sexo] bit NULL ALTER TABLE Cliente ADD [Telefone] varchar(15) NULL ALTER TABLE Cliente ADD [Valor] money NULL ALTER TABLE Cliente ADD [Comentário] varchar(1000) NULL UPDATE Cliente Set Sexo=1, Telefone='(xx) xxxx-xxxx ', Valor=15000, Comentário='Comentário: nenhum' exec sp_spaceused Cliente_com_campos_basicos; Ambiente de teste
CREATE TABLE [dbo].[Cliente] ( [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 ) INSERT INTO Cliente(Nome,SobreNome,Sexo,Telefone, Valor,Comentário) values('Nome','Sobrenome',1,'(xx) xxxx-xxxx ',15000,'Comentário: nenhum') GO exec sp_spaceused Cliente; Ambiente de teste