Acabamos de mudar para um novo método de armazenamento de imagem para nosso aplicativo, o que significa que não precisamos mais armazenar matrizes de bytes de imagem no banco de dados.
Para esse fim, excluí (por meio de uma UPDATE
declaração) cerca de matrizes de 19k bytes contendo imagens de alta resolução (cerca de 8 GB) de uma coluna em uma única tabela. Sem as imagens, não espero que o banco de dados volte ao tamanho que tem agora. Novamente, observe que não excluí linhas aqui, mas apenas defini valores de campo como NULL.
Outras informações:
- O tipo de coluna era VARBINARY
- Não havia índice na coluna.
Perguntas
- Devo apenas ir em frente e reduzir o banco de dados e, em seguida, reconstruir os índices para essa tabela?
- A maioria dos cenários que li envolve encolher após uma
DELETE
declaração. Não excluí nenhuma linha, apenas defini o valor do campo como null para todas as linhas. Isso muda alguma coisa? - A coluna agora está obsoleta e podemos apenas excluí-la da tabela; Acredito que isso exigirá que a tabela seja recriada. Devo reduzir o banco de dados antes ou depois de excluir a coluna?
Edit: Outra possibilidade me ocorreu. Com os dados da imagem desaparecidos, talvez seja melhor apenas escrever um script para reconstruir completamente o banco de dados inteiro, sem a coluna de imagem da coluna. Pensamentos?