A compactação e a redução de um banco de dados no SQL Server são iguais? Se eu compactar uma tabela, isso diminuirá o desempenho da consulta e o DML?
relate perguntas
-
Melhores práticas para conectar bancos de dados que estão em diferentes regiões geográficas
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Quanto "Padding" coloco em meus índices?
-
Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?
-
Downgrade do SQL Server 2008 para 2005
No SQL Server, encolher um banco de dados/arquivo de dados e compactar não são os mesmos. Encolher um arquivo (o que, aliás, não é realmente recomendado ) é o processo de remover espaço não utilizado de arquivos de dados em seu banco de dados. Quando os arquivos são criados, o SQL Server "reserva" espaço dimensionando os arquivos (dependendo de como o arquivo é criado), mesmo que não tenha dados para preencher esse espaço. A ideia é que você eventualmente coloque algo lá (mas nem sempre). Encolher remove esse espaço vazio.
A compactação de dados , por outro lado, compacta seus objetos para reduzir o espaço no arquivo de dados que eles ocupam. Existem alguns tipos diferentes de compactação, mas o que eles acabam fazendo é reduzir o espaço físico exigido por suas tabelas e índices.
Considere que você tem um arquivo de dados de 1 GB com 600 MB de dados reais nele. As duas operações terão os seguintes efeitos:
Para sua segunda pergunta, a compactação exige mais da CPU (ela precisa descompactar os dados para usá-los), mas usa menos E/S de disco (menos bits para extrair o disco). Isso pode afetar o desempenho da consulta se você estiver limitado pela CPU. A única maneira de avaliar corretamente é testar.