Tipo de índice de banco de dados MySQL/criar/usar combinação de instrução ALTER no MySQL

MySQLtipo de índice/criar/usar combinação alter inMySQLuso da instrução de comando

Índices MySQL

O estabelecimento do índice MySQL é muito importante para a operação eficiente do MySQL, e o índice pode melhorar muito a velocidade de recuperação do MySQL.

Por exemplo, se o MySQL com design e uso de índices razoáveis ​​for um Lamborghini, então o MySQL sem índices e índices é um triciclo humano.

O índice é dividido em índice de coluna única e índice composto.Índice de coluna única, ou seja, um índice contém apenas uma coluna, uma tabela pode ter vários índices de coluna única, mas este não é um índice composto.Índice composto, ou seja, um índice contém várias colunas.

Ao criar um índice, você precisa ter certeza de que o índice é uma condição aplicada à consulta SQL (geralmente como uma condição da cláusula WHERE).

Na verdade, o índice também é uma tabela, a tabela salva a chave primária e os campos de índice e aponta para os registros da tabela de entidades.

O acima está falando sobre os benefícios do uso de índices, mas o uso excessivo de índices levará ao abuso.Portanto, o índice também terá suas deficiências: embora o índice melhore muito a velocidade de consulta, ele reduzirá a velocidade de atualização da tabela, como INSERT, UPDATE e DELETE da tabela.Porque ao atualizar a tabela, o MySQL não apenas salva os dados, mas também salva o arquivo de índice.

Indexando um arquivo de índice que consome espaço em disco.


Índice normal

criar índice

Este é o índice mais básico, não tem restrições.Ele pode ser criado das seguintes formas:

CREATE INDEX indexName ON mytable(username(length)); 

Para os tipos CHAR e VARCHAR, o comprimento pode ser menor que o comprimento real do campo; para os tipos BLOB e TEXT, o comprimento deve ser especificado.

Modificar a estrutura da tabela (adicionar índice)

ALTER table tableName ADD INDEX indexName(columnName)

Especifique diretamente ao criar a tabela

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

Sintaxe para descartar um índice

DROP INDEX [indexName] ON mytable; 

Índice único

É semelhante ao índice ordinário anterior, a diferença é: o valor da coluna do índice deve ser único, mas valores nulos são permitidos.No caso de um índice composto, a combinação dos valores das colunas deve ser única.Ele pode ser criado das seguintes formas:

criar índice

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

Modificar a estrutura da tabela

ALTER table mytable ADD UNIQUE [indexName] (username(length))

Especifique diretamente ao criar a tabela

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

Adicionar e remover índices usando o comando ALTER

Há quatro maneiras de adicionar um índice a uma tabela de dados:

  • ALTER TABLE nome_tabela ADICIONAR CHAVE PRIMÁRIA (lista_colunas): Esta declaração adiciona uma chave primária, o que significa que os valores do índice devem ser únicos e não podem ser NULL.
  • ALTER TABLE nome_tabela ADD UNIQUE nome_índice (lista_colunas): O valor do índice criado por esta instrução deve ser exclusivo (exceto NULL, NULL pode aparecer várias vezes).
  • ALTER TABLE nome_tabela ADD INDEX nome_índice (lista_coluna): Adicione um índice normal, o valor do índice pode aparecer várias vezes.
  • ALTER TABLE nome_tabela ADD FULLTEXT nome_índice (lista_coluna):A instrução especifica o índice como FULLTEXT para indexação de texto completo.

O exemplo a seguir é adicionar um índice a uma tabela.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Você também pode usar a cláusula DROP no comando ALTER para eliminar índices.Tente a seguinte instância para descartar o índice:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Adicionar e remover chaves primárias usando o comando ALTER

A chave primária só pode atuar em uma coluna. Ao adicionar um índice de chave primária, você precisa garantir que a chave primária não seja NULL por padrão (NOT NULL).Os exemplos são os seguintes:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

Você também pode excluir uma chave primária com o comando ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Você só precisa especificar a PRIMARY KEY ao descartar a chave primária, mas ao descartar um índice, você deve saber o nome do índice.


mostrar informações de índice

Você pode usar o comando SHOW INDEX para listar as informações de índice relevantes na tabela.As informações de saída podem ser formatadas adicionando \G.

Tente os seguintes exemplos:

mysql> SHOW INDEX FROM table_name; \G
........

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartilhou "Uso de instrução ALTER de combinação de tipo/criação/uso de índice de banco de dados MySQL no MySQL", o que é útil para você.

Bem-vindo a compartilhar o link deste artigo:https://www.chenweiliang.com/cwl-496.html

Bem-vindo ao canal Telegram do blog de Chen Weiliang para receber as últimas atualizações!

🔔 Seja o primeiro a obter o valioso "Guia de uso da ferramenta de IA de marketing de conteúdo ChatGPT" no diretório superior do canal! 🌟
📚 Este guia contém um valor enorme, 🌟Esta é uma oportunidade rara, não perca! ⏰⌛💨
Compartilhe e curta se gostar!
Seus compartilhamentos e curtidas são nossa motivação contínua!

 

发表 评论

Seu endereço de e-mail não será publicado. 必填 项 已 用 * 标注

滚动 到 顶部