Indices para BD
O uso de índices pode trazer grandes melhorias para o desempenho do banco de dados. Os registros são armazenados em páginas de dados, páginas estas que compõem o que chamamos de pilha, que por sua vez é uma coleção de páginas de dados que contém os registros de uma tabela. Cada página de dados tem seu tamanho definido em até 8 Kb, apresenta um cabeçalho, também conhecido como header, que contém arquivos de links com outras páginas e identificadores (hash) que ocupam a nona parte do seu tamanho total (8 Kb) e o resto de sua área é destinada aos dados. Quando são formados grupos de oito páginas (64 Kb), chamamos este conjunto de extensão.
Existem três tipos de índices: Índices de agrupamento ou ordenados, que os dados são armazenados em uma página de dados, em rodem crescente. Índice sem agrupamento e de hash, criado sobre uma pilha, que é quando um índice sem agrupamento é criado sobre a pilha, o SQL Server usa os identificadores de registros das páginas de índice que indicam os registros das páginas de dados e os Índices sem agrupamento ou de hash criados sobre um índice agrupado ou ordenado, que quando um índice sem agrupamento é criado sobre uma tabela com um índice de agrupamento, o SQL Server usa uma chave de agrupamento nas páginas de índice que indicam o índice de agrupamento.
Por que não criar índices
Os índices são muito bons no sentido de performance do banco de dados, otimizam as buscas de dados, mas, por outro lado, consomem muito espaço em disco, o que pode se tornar concorrente do próprio banco se você o detém em um espaço generoso ou pode se tornar caro quando de detém o banco em um storage.
· Quando colunas indexadas são modificadas, o SGBD desloca recurso internamente para manter esses índices atualizados e associados;
· A manutenção de índices requer tempo e recursos, portanto, não crie índices que não serão usados efetivamente;
· Quando se contém grande quantidade de dados duplicados, índices apresentam