Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como criar índice no MySQL


Os índices MySQL facilitam as pesquisas e melhoram a velocidade da consulta SQL. Veja como criar índice no MySQL para melhorar o desempenho do banco de dados, usando a instrução MySQL CREATE INDEX.


Como funciona a indexação no MySQL


Normalmente, quando você executa uma consulta SQL com uma cláusula WHERE ou outro tipo de pesquisa, como JOINS, o MySQL precisa varrer todos os registros em sua tabela para encontrar as linhas correspondentes. Caso suas tabelas tenham milhões de linhas, isso pode consumir muito tempo e tornar suas consultas SQL consideravelmente mais lentas.

Os índices MySQL aceleram suas consultas SQL mantendo os valores das colunas indexadas em uma estrutura de árvore B que é otimizada para pesquisas e correspondências. Assim, os índices facilitam a localização rápida de linhas que correspondem a um ou mais valores.

Por padrão, o MySQL cria índice para cada coluna de chave primária em seu banco de dados.

Bônus de leitura:Como criar um procedimento armazenado no MySQL


Como criar índice no MySQL


Aqui estão as etapas para criar o índice no MySQL. Você pode criar o índice no momento da criação da tabela ou adicioná-lo posteriormente. Veremos essas duas abordagens.


Como criar um índice MySQL durante a criação da tabela


Aqui está a sintaxe para criar o índice durante a criação da tabela
CREATE TABLE table_name(
   column_definitions,
   INDEX (list_of_columns) 
);

Na consulta acima, table_name é sua tabela a ser criada e column_definitions é a lista de colunas e definições.

INDEX(list_of_columns) é onde você cria o índice MySQL. O índice será criado para a lista separada por vírgulas de colunas mencionadas como list_of_columns

Bônus de leitura:Como criar usuário no MySQL



Aqui está um exemplo.
CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id) 
);

Na consulta acima, criamos Índice para product_id coluna.

Aqui está um exemplo de como criar índice usando várias colunas.
CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id, order_id) 
);

Na consulta acima, criamos um índice para várias colunas product_id, order_id

Bônus de leitura:Como criar banco de dados no MySQL


Como adicionar índice à coluna na tabela


Digamos que você queira adicionar índice para coluna ou conjunto de colunas e, em seguida, use a instrução CREATE INDEX. Aqui está a sintaxe da instrução CREATE INDEX
CREATE INDEX index_name ON table_name (column_list)

Na consulta acima, especificamos o nome do índice, a tabela para a qual você precisa criar o índice e a lista de colunas a serem incluídas na indexação.

Aqui está um exemplo para adicionar um novo índice para a coluna product_name nas ordens acima tabela
CREATE INDEX prod_name_index ON orders (product_name);



Para visualizar os índices adicionados a uma tabela, você pode usar a instrução SHOW INDEXES. Aqui está a sintaxe para SHOW INDEXES
SHOW INDEXES from table_name;



Aqui está um exemplo para visualizar índices de pedidos tabela
SHOW INDEXES from orders;




Espero que o artigo acima o ajude a criar um índice no MySQL.



O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!