Compartilhar via


Índices (Visual Database Tools)

Você pode usar um índice para obter acesso rápido a informações específicas de uma tabela de banco de dados. Um índice é uma estrutura que ordena os valores de uma ou mais colunas em uma tabela de banco de dados, por exemplo o sobrenome (lname) a coluna da employee tabela. Se você estava procurando um funcionário específico por seu último nome, o índice ajuda a obter as informações mais rápido do que se você tivesse que pesquisar todas as linhas da tabela.

O índice oferece ponteiros para os valores de dados armazenados em colunas especificadas da tabela e ordena esses ponteiros de acordo com a ordem de classificação que você especificar. O banco de dados utiliza o índice de quanto você usar um índice em um livro: ele pesquisa o índice para localizar um valor específico e segue o ponteiro para a linha que contém esse valor.

Em diagramas de banco de dados, você pode criar, editar ou excluir cada tipo de índice do Caixa de diálogo Índices/chaves, Caixa de diálogo índices XML ou Caixa de diálogo de índice de texto completo para a tabela selecionada. Um índice é salvo no banco de dados quando você salva a tabela que ele está anexado ou quando você salva o diagrama no qual essa tabela aparece. Para obter mais informações, consulte Trabalhando com índices.

ObservaçãoObservação

Nem todos os bancos de dados funcionam com os índices da mesma maneira. Para obter mais informações, consulte a documentação do banco de dados.

Como regra geral, você deve criar um índice em uma tabela somente se os dados das colunas indexadas serão consultados com freqüência. Os índices ocupam espaço em disco e diminuir a adição, exclusão e atualização de linhas. Na maioria das situações, as vantagens de velocidade de índices para recuperação de dados influenciam essas desvantagens. No entanto, se seu aplicativo atualiza dados com muita freqüência, ou se você tiver restrições de espaço em disco, convém limitar o número de índices.

Antes de criar um índice, você deve determinar quais colunas serão utilizadas e que tipo de índice para criar.

Colunas de índice

Você pode criar índices com base em uma única coluna ou em várias colunas em uma tabela de banco de dados. Os índices de várias colunas permitem distinguir entre linhas nas quais uma coluna pode ter o mesmo valor.

Indexa também são úteis se você pesquisar com freqüência ou classificar por duas ou mais colunas ao mesmo tempo. Por exemplo, se você freqüentemente define critérios para o sobrenome e colunas de nome na mesma consulta, faz sentido criar um índice de várias colunas nessas duas colunas.

Para determinar a utilidade de um índice:

  • Examinar WHERE e cláusulas de suas consultas. Cada coluna incluída em qualquer uma das cláusulas é uma possível candidata ao índice.

  • Experimente o novo índice para examinar seu efeito sobre o desempenho de consultas em execução.

  • Considere o número de índices já criados em sua tabela. É melhor evitar um grande número de índices em uma única tabela.

  • Examine as definições dos índices já criados em sua tabela. É melhor evitar a sobreposição de índices que contenham colunas compartilhadas.

  • Examinar o número de valores em uma coluna de dados exclusivos e compare esse número com o número de linhas na tabela. O resultado é a seletividade dessa coluna, que pode ajudá-lo a decidir se uma coluna é uma candidata ao índice e, portanto, que tipo de índice.

Tipos de índice

Dependendo da funcionalidade de seu banco de dados, você pode criar três tipos de índices: exclusivo, principais chave e de cluster - em O Designer de banco de dados. Para obter detalhes sobre a funcionalidade de indexação suportado pelo seu banco de dados, consulte a documentação do banco de dados.

Dica

Embora um índice exclusivo ajude a localizar informações, para obter melhores resultados de desempenho é recomendável que você use restrições exclusivas ou chave primária. Para obter mais informações sobre essas restrições, consulte Trabalhando com restrições.

Índice exclusivo

Um índice exclusivo é um no qual as duas linhas são permitidas para ter o mesmo valor de índice.

A maioria dos bancos de dados impedem que você salvar uma tabela com um índice exclusivo recém-criado quando há valores de chave duplicados nos dados existentes. Seu banco de dados também pode impedir a adição de novos dados que criariam valores de chave duplicados na tabela. Por exemplo, se você criar um índice exclusivo no sobrenome do funcionário (lname) na employee tabela, e em seguida, dois funcionários não podem compartilhar o mesmo nome sobrenome.

Para obter mais informações sobre índices exclusivos, consulte Como: Crie índices exclusivos.

Índice de chave primária

Freqüentemente, uma tabela de banco de dados tem uma coluna ou combinação de colunas cujo valor identifica com exclusividade cada linha na tabela. Essa coluna é chamada de chave primária da tabela.

A definição de uma chave primária para uma tabela em um diagrama de banco de dados automaticamente cria um índice de chave primária é um tipo específico de índice exclusivo. Esse índice requer que cada valor na chave primária seja exclusivo. Ele também permite acesso rápido aos dados quando você usa o índice de chave primária em consultas. Para obter mais informações sobre chaves primárias, consulte Trabalhar com chaves.

Índice de cluster

Em um índice de cluster, a ordem física das linhas na tabela é a mesma ordem lógica (indexada) dos valores da chave. Uma tabela pode conter somente um índice agrupado.

Se um índice não está em cluster, a ordem física das linhas na tabela não corresponde a ordem lógica dos valores da chave. Geralmente, um índice agrupado fornece acesso mais rápido aos dados de um índice sem cluster.

Para obter mais informações sobre como usar um índice de cluster, consulte Como: Criar índices em cluster.

Índice de texto completo

Se você quiser executar pesquisas de texto completo em colunas com base em texto, em suas tabelas de banco de dados, crie um índice de texto completo. Um índice de texto completo baseia-se em um índice de regular, você precisará criar isso primeiro. O índice regular deve ser criado em uma única coluna não-nulo e é melhor escolher uma coluna com valores pequenos, em vez de uma coluna com aqueles grandes. For more information, see Como: Criar índices.

ObservaçãoObservação

Para criar um índice de texto completo, crie primeiro um catálogo usando uma ferramenta externa, como, por exemplo, SQL Server Management Studio ou o Enterprise Manager.

ObservaçãoObservação

Funcionalidade de índice de texto completo não está disponível em Microsoft SQL Server Express 2005.

Índice XML

Use o Índices XML caixa de diálogo Criar índices para colunas do tipo de dados XML, que não pode ser indexada usando o Chaves deíndice/ caixa de diálogo. Cada coluna XML pode ter mais de um índice de XML, mas o primeiro criado (principal) será a base dos outros. Se você excluir o índice XML primário, os outros também serão excluídos. Para obter mais informações sobre os índices de XML, consulte Como: Criar índices XML.

Consulte também

Referência

Caixa de diálogo Índices/chaves

Caixa de diálogo de relacionamentos de chave estrangeira

Caixa de diálogo índices XML

Caixa de diálogo de índice de texto completo

Outros recursos

Trabalhando com índices

Trabalhar com chaves