Alteração de índices nas tabelas nativas do Campaign
Saiba mais sobre como alterar índices nas tabelas nativas do Campaign e criar um índice clusterizado.
Descrição description
Ambiente
- Campaign Classic
- Campaign
- Campaign Classic v7
Problema/Sintomas
Você tem permissão para alterar índices nas tabelas nativas do Campaign?
Você pode criar um índice clusterizado?
O índice clusterizado pode ser adicionado da definição do esquema?
Resolução resolution
Sim, o Campaign permite criar índices não clusterizados do back-end. A única diferença é que esses índices não estarão disponíveis no nível do esquema para fazer modificações no.
Como esse índice não clusterizado será mantido pelo DBA, a desfragmentação dele terá que ser tratada fora do sistema do Campaign.
Você pode criar um índice clusterizado e isso não atrapalhará a execução da campanha. Na verdade, melhorará o desempenho. As chaves primárias do esquema de campanha são convertidas em um índice exclusivo no nível do banco de dados. Como um índice clusterizado é necessário na tabela do SQL Server para melhorar o desempenho, você pode criá-lo diretamente no banco de dados.
No entanto, há um problema em usar um índice clusterizado.
- O Campaign usa sequências para gerar o valor do campo de chave primária.
- Como a sequência é um campo do tipo Integer (int32), ela circula entre 0 e o valor mais alto.
- As colunas de índice agrupadas decidem a ordem física da tabela, e qualquer nova inserção pode levar ao deslocamento físico das páginas.
- Quando a sequência atinge seu valor máximo, ela se recicla até seu extremo negativo ou até 0, dependendo da configuração feita para a sequência. Após a reciclagem, você gerará registros com um valor de CP menor que o último registro. Isso leva à inserção de registros em páginas existentes da tabela, resultando em vários turnos.
- O Campaign executa inserções/atualizações em massa e, portanto, pode causar efeitos adversos.
Não, como o Campaign permite apenas a criação do índice exclusivo, o índice clusterizado deve ser criado no back-end.