Desejo modificar uma coluna em uma tabela enorme contendo mais de 25 milhões de registros. Estou usando o Sybase 12.5.4. Eu li essas postagens
e
ALTER TABLE em uma tabela grande com uma coluna indexada
Minha estratégia atual é
- Elimine todos os índices não clusterizados
- Eliminar índice clusterizado
- Altere a coluna de modificação da tabela varchar (32) -- a coluna é char (20) atualmente
- Recrie o índice clusterizado
- recriar índice não clusterizado
Isso faz sentido. Existe um método mais rápido para fazer isso?
Editar:
- Tamanho dos dados da tabela: 16,7 GB
- Linhas totais: 25835155
- tamanho médio da linha: 0,64 KB
- 8 Índice não agrupado
- Sim, a coluna que estou alterando é a segunda coluna em um índice NC de 2 colunas
Você só precisa descartar e recriar o índice NC afetado.
Dizendo isso, em um servidor de teste, você pode ver as diferenças em fazer isso em comparação com sua estratégia de descartar todos os índices acima.
Eu acho que descartar/criar o índice único seria mais rápido no geral porque os dados serão deslocados duas vezes: uma vez char para varchar, outra para construir o índice clusterizado. Então você tem a sobrecarga de criação do NC.