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!