Índices usando MySQL WorkBench
Em primeiro lugar, inicie o seu MySQL Workbench e conecte-o ao banco de dados raiz.
Estaremos criando uma nova tabela de 'contatos' no banco de dados 'dados' com diferentes colunas. Temos uma chave primária e uma coluna de chave UNIQUE nesta tabela, e.g. id e email. Aqui, você deve esclarecer que não precisa criar índices para as colunas de chave UNIQUE e PRIMARY. O banco de dados cria automaticamente os índices para ambos os tipos de colunas. Portanto, faremos o índice 'telefone' para a coluna 'telefone' e o índice 'nome' para as colunas 'primeiro_nome' e 'último_nome'. Execute a consulta usando o ícone do flash na barra de tarefas.
Você pode ver na Saída que a tabela e os índices foram criados.
Agora, navegue até a barra de esquema. Na lista 'Tabelas' você pode encontrar a tabela recém-criada.
Vamos tentar o comando SHOW INDEXES para verificar os índices para esta tabela em particular como mostrado abaixo na área de consulta usando o sinal de flash.
Esta janela aparecerá imediatamente. Você pode ver uma coluna 'Key_name' que mostra que a chave pertence a cada coluna. Como criamos o índice 'telefone' e 'nome', ele também aparece. Você pode ver as outras informações relevantes sobre os índices e.g., sequência do índice para uma determinada coluna, tipo de índice, visibilidade, etc.
Índices usando o shell de linha de comando do MySQL
Abra o shell do cliente de linha de comando do MySQL em seu computador. Digite a senha do MySQL para começar a usar.
Exemplo 01
Suponha que temos uma tabela 'pedido1' no esquema 'pedido' com algumas colunas tendo valores conforme ilustrado na imagem. Usando o comando SELECT, temos que buscar os registros de 'pedido1'.
Como não definimos nenhum índice para a tabela 'pedido1' ainda, é impossível adivinhar. Portanto, tentaremos o comando SHOW INDEXES ou SHOW KEYS para verificar os índices da seguinte maneira:
>> MOSTRAR CHAVES DOS dados ordem1 IN;Você pode perceber que a tabela 'pedido1' tem apenas 1 coluna de chave primária da saída abaixo. Isso significa que não há índices definidos ainda, por isso está mostrando apenas registros de 1 linha para a coluna de chave primária 'id'.
Vamos verificar os índices de qualquer coluna na tabela 'pedido1' onde a visibilidade está desligada conforme mostrado abaixo.
>> MOSTRAR ÍNDICE DE dados.pedido1 ONDE VISÍVEL = 'NÃO';
Agora estaremos criando alguns índices UNIQUE na tabela 'pedido1'. Nós nomeamos este ÍNDICE UNIQUE como 'rec' e o aplicamos às 4 colunas: id, Região, Status e OrderNo. Experimente o comando abaixo para fazer isso.
>> CRIAR dados de rec ON ÍNDICE ÚNICO.pedido1 (id, região, status, OrderNo);
Agora vamos ver o resultado da criação de índices para a tabela particular. O resultado é dado abaixo após o uso do comando SHOW INDEXES. Temos uma lista de todos os índices criados, tendo os mesmos nomes 'rec' para cada coluna.
>> MOSTRAR ÍNDICE DOS dados do pedido1 IN;
Exemplo 02
Assuma uma nova tabela 'aluno' no banco de dados 'dados' com campos de quatro colunas tendo alguns registros. Recupere os dados desta tabela usando a consulta SELECT da seguinte maneira:
Vamos buscar os índices da coluna da chave primária primeiro tentando o comando SHOW INDEXES abaixo.
>> MOSTRAR ÍNDICE DE dados.aluno WHERE Key_name = 'PRIMARY';Você pode ver que ele irá gerar o registro de índice para a única coluna com o tipo 'PRIMARY' devido à cláusula WHERE usada na consulta.
Vamos criar um índice único e um não único nas diferentes colunas da tabela 'aluno'. Iremos primeiro criar o índice UNIQUE 'std' na coluna 'Nome' da tabela 'aluno' usando o comando CREATE INDEX no shell do cliente de linha de comando como abaixo.
>> CRIAR INDEX UNIQUE INDEX dados padrão ON.nome do aluno );
Vamos criar ou adicionar um índice não único na coluna 'Assunto' da tabela 'aluno' ao usar o comando ALTER. Sim, estamos usando o comando ALTER porque ele é usado para modificar a tabela. Portanto, modificamos a tabela adicionando índices às colunas. Então, vamos tentar a consulta ALTER TABLE abaixo no shell da linha de comando, adicione o índice 'stdSub' à coluna 'Assunto'.
>> Dados ALTER TABLE.aluno ADICIONE ÍNDICE stdSub (Assunto);
Agora é a vez de verificar os índices recém-adicionados na tabela 'aluno' e suas colunas 'Nome' e 'Assunto'. Experimente o comando abaixo para verificar.
>> MOSTRAR ÍNDICE DE dados.aluna;Na saída, você pode ver que as consultas atribuíram o índice não exclusivo à coluna 'Assunto' e o índice exclusivo à coluna 'Nome'. Você também pode ver os nomes dos índices.
Vamos tentar o comando DROP INDEX para remover o índice 'stdSub' da tabela 'aluno'.
>> DROP INDEX stdSub ON dados.aluna;
Vamos ver os índices restantes, usando a mesma instrução SHOW INDEX abaixo. Agora saímos com os únicos dois índices que permaneceram na tabela 'aluno' de acordo com a saída abaixo.
>> MOSTRAR ÍNDICE DE dados.aluna;
Conclusão
Finalmente, fizemos todos os exemplos necessários sobre como criar índices únicos e não únicos, mostrar ou verificar índices e descartar os índices para a tabela particular.