O comando DROP INDEX é utilizado para remover índices existentes em uma tabela do banco de dados MySQL.
Ele faz parte dos comandos de definição da estrutura do banco e deve ser utilizado quando um índice deixa de ser necessário.
Um índice é uma estrutura criada para acelerar consultas realizadas no banco de dados.
Com o tempo, alguns índices podem ficar desnecessários devido a mudanças no sistema ou no modelo de dados.
DROP INDEX nome_indice
ON nome_tabela;
Criando uma tabela com índice:
CREATE TABLE clientes (
id INT PRIMARY KEY,
nome VARCHAR(100),
email VARCHAR(150)
);
CREATE INDEX idx_nome
ON clientes(nome);
Removendo o índice criado anteriormente:
DROP INDEX idx_nome
ON clientes;
O índice será excluído, mas a tabela continuará existindo.
Outra forma utilizada no MySQL:
ALTER TABLE clientes
DROP INDEX idx_nome;
Antes de remover um índice, podemos verificar sua existência.
SHOW INDEX FROM clientes;
CREATE TABLE produtos (
id INT PRIMARY KEY,
nome VARCHAR(100),
categoria VARCHAR(50)
);
CREATE INDEX idx_categoria
ON produtos(categoria);
SHOW INDEX FROM produtos;
DROP INDEX idx_categoria
ON produtos;
| DROP INDEX | DROP COLUMN |
|---|---|
| Remove índice | Remove coluna |
| Não apaga dados | Apaga dados da coluna |
| Afeta desempenho | Afeta estrutura da tabela |
| Resultado | Descrição |
|---|---|
| Menos espaço | Remove armazenamento do índice |
| Menor manutenção | INSERT e UPDATE podem ficar mais rápidos |
| Consultas podem piorar | Algumas buscas podem ficar mais lentas |
| Situação | Uso do DROP INDEX |
|---|---|
| Sistema atualizado | Remover índices antigos |
| Banco lento | Reavaliar estruturas |
| Índices duplicados | Eliminar redundâncias |
| Nova modelagem | Ajustar desempenho |