SQL CREATE INDEX




SQL > Manipulação de Tabelas > Create Index

Os índices ajudam-nos a obter mais rapidamente dados das tabelas. Usemos um exemplo para ilustrar este ponto: Digamos que estamos interessados em ler sobre como cultivar pimentos num livro de jardinagem. Em vez de lermos o livro do início ao fim até encontrarmos uma secção sobre pimentos, é muito mais fácil utilizar a secção do índice no final do livro, localizar as páginas que contêm informações sobre pimentos e, em seguida, consultar diretamente essas páginas. Consultar primeiro o índice permite poupar tempo e é o método mais eficiente para localizar as informações necessárias.

O mesmo princípio é aplicável para a obtenção de dados a partir de uma tabela de base de dados. Sem um índice, o sistema da base de dados lê toda a tabela (este processo é denominado 'pesquisa da tabela') para localizar as informações pretendidas. Através de um índice adequado, o sistema da base de dados pode percorrer primeiro o índice para descobrir onde obter os dados e, em seguida, aceder diretamente aos locais para obter os dados necessários. Assim é muito mais rápido.

Como tal, muitas vezes é preferível criar índices nas tabelas. Um índice pode abranger uma ou mais colunas. A sintaxe geral para criar um índice é:

CREATE INDEX "nome_indice" ON "nome_tabela" (nome_coluna);

Suponhamos que temos a seguinte tabela:

Tabela Customer
Nome da ColunaTipo de Dados
First_Namechar(50)
Last_Namechar(50)
Addresschar(50)
Citychar(50)
Countrychar(25)
Birth_Datedatetime

e queremos criar um índice da coluna Apelido, escreveríamos

CREATE INDEX IDX_CUSTOMER_LAST_NAME
ON Customer (Last_Name);

Se quisermos criar um índice de Cidade e País, escreveríamos

CREATE INDEX IDX_CUSTOMER_LOCATION
ON Customer (City, Country);

Não existe uma regra rígida sobre qual o nome a atribuir a um índice. O método geralmente aceite é colocar um prefixo, tal como "IDX_", antes de um nome de índice de modo a evitar confusões com outros objetos da base de dados. Também é boa ideia fornecer informações sobre que tabela e coluna(s) o índice é utilizado.

Note que a sintaxe exata para CREATE INDEX pode ser diferente para diferentes bases de dados. Deve consultar o manual de referência da sua base de dados para obter a sintaxe precisa.

SQL ALTER TABLE >>



Copyright © 2016   1keydata.com   Todos os direitos reservados.