MySQL MariaDB

Como faço para encontrar o índice de uma tabela no MySQL?

Como faço para encontrar o índice de uma tabela no MySQL?
Um índice de banco de dados é um arranjo de dados que aumenta a rapidez das transações da tabela. Tendo uma ou mais colunas, os índices podem ser gerados, estabelecendo as bases para pesquisas aleatórias mutuamente rápidas e arranjo de entrada de registro eficaz. Isso deve ser mantido em mente ao construir um índice, que todas as colunas são descartadas para gerar consultas SQL e também para construir um ou mais índices para essas colunas. Na prática, os índices são uma forma de tabelas que contêm a chave primária ou o campo da coluna do índice e fazem referência à tabela individual para cada registro. Os usuários podem não ver os índices, eles são descartados para acelerar as consultas, assim como o Mecanismo de pesquisa de banco de dados os consumiria para rastrear registros muito rapidamente.

Í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'.

>> SELECIONE * DOS dados.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:

>> SELECIONE * DOS dados.aluna;

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.

Melhores jogos para jogar com rastreamento manual
Oculus Quest introduziu recentemente a grande ideia de rastreamento manual sem controladores. Com um número cada vez maior de jogos e atividades que e...
Como mostrar a sobreposição de OSD em aplicativos e jogos Linux em tela cheia
Jogar jogos em tela cheia ou usar aplicativos em modo de tela cheia sem distração pode cortar você das informações relevantes do sistema visíveis em u...
Top 5 cartas de captura de jogos
Todos nós vimos e amamos streaming de jogos no YouTube. PewDiePie, Jakesepticye e Markiplier são apenas alguns dos melhores jogadores que ganharam mil...