Como criar um índice em SQL

Em qualquer banco de dados SQL, você precisa de uma maneira rápida de acessar os registros de interesse. Digamos, por exemplo, que você quer olhar para todas as propostas de pessoas que afirmam ser o seu irmão. Supondo que nenhum dos seus irmãos mudaram seus sobrenomes para fins teatrais, você pode isolar estas ofertas, baseando a sua recuperação no conteúdo do Último nome campo, como mostrado na seguinte consulta SQL adhoc:

SELECT * DE POWERWHERE LastName = 'Marx' -

Essa estratégia pode não funcionar para as propostas apresentadas por meios-irmãos e irmãos-de-lei, então você precisa de olhar para um campo diferente, como mostrado no exemplo a seguir:

SELECT * DE POWERWHERE HowKnown = "irmão-em-law'ORHowKnown = 'meio-irmão' -

SQL varre a mesa uma linha de cada vez, à procura de entradas que satisfazem a ONDE condição de cláusula. Se a tabela de PODER é grande (dezenas de milhares de registros), você pode acabar esperando um tempo. Você pode acelerar as coisas, aplicando índices para a mesa de POWER. (A índice é uma tabela de ponteiros. Cada linha no índice aponta para uma linha correspondente na tabela de dados.)

Você pode definir um índice para todas as diferentes maneiras que você pode querer aceder aos seus dados. Se você adicionar, alterar ou excluir linhas na tabela de dados, você não tem que re-ordenar a tabela - você só precisa atualizar os índices. Você pode atualizar um índice muito mais rápido do que você pode classificar uma tabela.

Depois de estabelecer um índice com a ordem desejada, você pode usar esse índice para acessar linhas na tabela de dados quase instantaneamente.

Porque o ProposalNumber campo é único e curto, usando esse campo é a maneira mais rápida de acessar um registro individual. Essas qualidades tornam ideal para uma chave primária. E porque as chaves primárias são geralmente a maneira mais rápida para acessar os dados, a chave primária de toda e qualquer tabela deve sempre ser indexado- índices de acesso chaves primárias automaticamente. No entanto, você deve saber o ProposalNumber do registro que você deseja.

Você pode querer criar índices adicionais com base em outros campos, tais como Último nome, Código postal, ou HowKnown. Para uma tabela que você índice em Último nome, após uma busca encontra a primeira linha contendo uma Último nome do Marx, a busca encontrou-los todos. As chaves de índice para toda a Marx linhas são armazenadas uma após a outra.

Você pode recuperar Chico, Groucho, Harpo, Zeppo, e Karl quase tão rápido quanto você pode obter os dados sobre Chico sozinho.

Índices adicionar uma sobrecarga para o sistema, o que retarda as operações. Você deve equilibrar este abrandamento contra a velocidade que você ganha, acessando registros através de um índice.

Aqui estão algumas dicas para escolher bons campos de indexação:

  • Indexar os campos que frequentemente usam para acessar os registros é sempre uma boa idéia. Você pode rapidamente acessar os registros sem muita latência.

  • Não se incomode a criação de índices para campos que você Nunca utilizar as teclas como recuperação. Criando índices desnecessários é um desperdício de tempo e de espaço de memória, e você não ganha nada.

  • Não criar índices para campos que não diferenciam um registro de um monte de outros. Por exemplo, a BusinessOrCharity campo meramente divide os registros da tabela em duas categorias não faz um bom índice.

A eficácia de um índice varia de uma aplicação para outra. Se você migrar um banco de dados de uma plataforma para outra, os índices que deram o melhor desempenho no primeiro sistema pode não realizar o melhor na nova plataforma. Na verdade, o desempenho pode ser pior do que se não tivesse indexado o banco de dados em tudo.

Tente vários esquemas de indexação para ver qual deles oferece o melhor desempenho global, e otimizar seus índices de modo que nem a velocidade de recuperação nem velocidade de atualização sofrem com a migração.

Para criar um índice para a tabela de PODER, basta selecionar Sim para indexado no painel Propriedades do campo da janela de criação da tabela.

O acesso faz duas truques úteis automaticamente: Ele cria um índice para Código postal (Porque esse campo é muitas vezes usado para recuperações) e ele indexa a chave primária. (Ah, o progresso. Tenho que amá-lo.)

Código postal não é uma chave primária e não é necessariamente singularidade o oposto é verdadeiro para ProposalNumber. Você já criou um índice para Último nome. Faça o mesmo para HowKnown porque ambos são susceptíveis de ser utilizados para recuperações.

Depois de criar todos os seus índices, não se esqueça de salvar a nova estrutura da tabela antes de o fechar.

Se você usar uma ferramenta RAD diferente do Microsoft Access, esta informação não se aplica a você. No entanto, o processo global é bastante semelhante.

menu