Eu tenho um banco de dados existente que está faltando alguns índices. Quando tentei criar alguns, o servidor de banco de dados realmente sofreu com o uso da CPU durante a criação do índice, interferindo na carga de trabalho regular. Existe uma maneira de prevenir ou limitar isso? Afinal estou criando o índice para aumentar a performance. Ou este é um golpe único que tenho que suportar para que as coisas sejam melhores no futuro?
Há muitas explicações possíveis para isso. Pode ser que você tenha que aceitá-lo como o custo de fazer uma melhoria, mas pode estar destacando problemas em outras partes do sistema. Causas Possíveis:
Sua pergunta é um pouco esparsa nos detalhes necessários para fornecer uma resposta conclusiva. Para começar, você pode adicionar a tabela DDL (incluindo definição de índice clusterizado) à sua pergunta junto com contagens de linha e tamanho do banco de dados. Além disso, uma descrição da especificação do servidor (memória, cpu, configuração da unidade) e se o tempdb está ou não em uma matriz separada.
Em seguida, o seguinte nos dará uma indicação de como está o desempenho do seu subsistema IO.
O seguinte nos dirá o quão mal fragmentados estão seus índices existentes. Você pode querer executá-lo em um momento de silêncio, pois pode afetar o desempenho.