Como o MySQL adiciona um índice a uma tabela existente

Como o MySQL adiciona um índice a uma tabela existente
Um índice, também conhecido como índices, refere -se a uma estrutura de dados que aprimora as velocidades de busca de dados em uma tabela MySQL. Se uma tabela não tiver um índice, a execução de uma consulta solicita o MySQL a digitalizar todas as linhas até encontrar as informações solicitadas. Se a tabela tiver muitos registros, esse processo levará muito tempo para concluir, afetando significativamente o desempenho do banco de dados.

Este tutorial mostrará como criar um índice em uma tabela MySQL para tabelas existentes e novas.

Antes de executarmos consultas e criar índices, vejamos alguns conceitos de índice MySQL.

Tipos de índices MySQL

O MySQL suporta dois tipos de índices:

  1. Um índice primário ou agrupado
  2. Índice Secundário

O MySQL cria automaticamente um índice, chamado primário, sempre que criarmos uma tabela com uma chave primária. Dependendo do mecanismo de banco de dados, se a chave primária ou a chave exclusiva não estiver disponível em uma tabela, o MySQL poderá criar uma chave oculta na coluna com valores de ID.

O índice primário criado por MySQL é armazenado junto com os dados na mesma tabela. Outros índices que existem dentro de uma tabela além do índice primário são conhecidos como índices secundários.

Como adicionar um índice a uma tabela existente

Embora o MySQL recomende adicionar um índice durante a criação da tabela, há alguns casos em que você pode precisar adicionar um índice a uma tabela existente, como em uma coluna acessada regularmente.

Para adicionar um índice a uma tabela existente, podemos usar a consulta Alter.

Vamos pegar um banco de dados de amostra com as tabelas, como mostrado na consulta abaixo:

Crie banco de dados, se não existir, mysql_indices;
Use mysql_indices;
Crie caminhadas de tabela (
ID int Auto_increment Chave primária,
cpt_name
Varchar (255) não nulo,
enviar
Varchar (255) não nulo
);
Insira em caminhadas (cpt_name, navio)
Valores ('Carol Freeman', 'USS Cerritos'),
('Christopher Pike', 'USS Discovery'),
('Jean-Luc Picard', 'USS Enterprise'),
('James T. Kirk ',' USS Enterprise '),
('Jonathan Archer', 'USS Enterprise');

No exemplo acima, o MySQL criará uma chave de índice usando a coluna ID porque é especificada como a chave primária.

Você pode verificar isso usando a consulta:

Mostrar índice de Treks;

Para criar um índice personalizado, use a consulta Alter como:

Alterar caminhadas de tabela Adicionar índice (cpt_name);

No exemplo acima, usamos o cpt_name como a segunda chave primária. Para mostrar os índices, use a consulta:

Se não for especificado, o MySQL padrão padrão como um B-Tree. Outros tipos de índice suportados incluem hash e fulltext.

O tipo de índice dependerá do mecanismo de armazenamento para a tabela especificada.

Para criar um índice para uma coluna ou lista de colunas, usamos a consulta Create Index. Por exemplo, para criar um índice para o “Navio: Coluna, podemos fazer:

Criar index ship_index em treks (navio);

Se executarmos a consulta de índice de show na tabela, devemos ver um índice chamado "ship_index" na coluna "navio".

Como adicionar um índice a uma nova tabela

A maneira recomendada é criar um índice ou índices ao criar uma tabela. Para fazer isso, especifique as colunas para usar como índices dentro da consulta Index ().

Vamos começar soltando a tabela Treks no exemplo anterior:

Soltar caminhadas de mesa;

Em seguida, vamos recriar a tabela e especificar o índice durante a criação. Um exemplo de consulta é:

Crie caminhadas de tabela (
ID int Auto_increment Chave primária,
cpt_name
Varchar (255) não nulo,
enviar
Varchar (255) não nulo,
ÍNDICE (navio)
);
Insira em caminhadas (cpt_name, navio)
Valores ('Carol Freeman', 'USS Cerritos'),
('Christopher Pike', 'USS Discovery'),
('Jean-Luc Picard', 'USS Enterprise'),
('James T. Kirk ',' USS Enterprise '),
('Jonathan Archer', 'USS Enterprise');

No exemplo de consulta acima, adicionamos a coluna do navio como um índice durante a criação da tabela. Como o ID é a chave primária, o MySQL a adiciona automaticamente como um índice.

Mostrar índice de Treks;

Conclusão

Neste tutorial, você aprendeu a adicionar um índice a uma tabela existente, adicionar um índice para uma coluna e criar um índice durante a criação da tabela.