MySQL MOSTRA ÍNDICES

Resumo : neste tutorial, você aprenderá como consultar informações de índice de uma tabela usando o SHOW INDEXEScomando MySQL.

Introdução ao comando MySQL SHOW INDEXES

Para consultar as informações do índice de uma tabela, você usa a SHOW INDEXESseguinte instrução:

SHOW INDEXES FROM table_name;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Para obter o índice de uma tabela, você especifica o nome da tabela após a FROMpalavra-chave. A instrução retornará as informações do índice associadas à tabela no banco de dados atual.

Você pode especificar o nome do banco de dados se não estiver conectado a nenhum banco de dados ou quiser obter as informações do índice de uma tabela em um banco de dados diferente:

SHOW INDEXES FROM table_name 
IN database_name;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A consulta a seguir é semelhante à anterior:

SHOW INDEXES FROM database_name.table_name;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Observe que INDEXe KEYSsão sinônimos de INDEXES, INé sinônimo de FROM, portanto, você pode usar esses sinônimos na SHOW INDEXEScoluna. Por exemplo:

SHOW INDEX IN table_name 
FROM database_name;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Ou

SHOW KEYS FROM tablename
IN databasename;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

O SHOW INDEXESretorna as seguintes informações:

mesa

O nome da mesa

não_único

1 se o índice puder conter duplicatas, 0 se não puder.

nome_chave

O nome do índice. O índice de chave primária sempre tem o nome de PRIMARY.

seq_in_index

O número de sequência da coluna no índice. O número de sequência da primeira coluna começa em 1.

nome da coluna

O nome da coluna

agrupamento

O agrupamento representa como a coluna é classificada no índice. Asignifica ascendente, Bsignifica descendente ou NULLsignifica não classificado.

cardinalidade

A cardinalidade retorna um número estimado de valores exclusivos no índice.

Observe que quanto maior a cardinalidade, maior a chance de o otimizador de consulta usar o índice para pesquisas.

sub_parte

O prefixo do índice. É nulo se toda a coluna estiver indexada. Caso contrário, mostra o número de caracteres indexados caso a coluna esteja parcialmente indexada.

embalado

indica como a chave é empacotada; NUL se não for.

nulo

YESse a coluna contiver valores NULL e em branco se não contiver.

tipo_índice

representa o método de índice usado, como BTREE, HASH, RTREEou FULLTEXT.

Comente

As informações sobre o índice não estão descritas em coluna própria.

comentário_índice

mostra o comentário do índice especificado quando você cria o índice com o COMMENTatributo.

visível

Se o índice está visível ou invisível para o otimizador de consulta ou não; YESse for, NOse não.

expressão

Se o índice usar uma expressão em vez de uma coluna ou valor de prefixo de coluna, a expressão indicará a expressão para a parte chave e também a column_namecoluna será NULL.

Filtrar informações de índice

Para filtrar informações de índice, você usa uma WHEREcláusula como a seguir:

SHOW INDEXES FROM table_name
WHERE condition;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Você pode usar qualquer informação retornada pela SHOW INDEXESinstrução para filtrar as informações do índice. Por exemplo, a instrução a seguir retorna apenas os índices invisíveis de uma tabela:

SHOW INDEXES FROM table_name
WHERE VISIBLE = 'NO';
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Exemplos de SHOW INDEXES do MySQL

Criaremos uma nova tabela chamada contactspara demonstrar o SHOW INDEXEScomando:

CREATE TABLE contacts(
    contact_id INT AUTO_INCREMENT,
    first_name VARCHAR(100) NOT NULL,
    last_name VARCHAR(100) NOT NULL,
    email VARCHAR(100),
    phone VARCHAR(20),
    PRIMARY KEY(contact_id),
    UNIQUE(email),
    INDEX phone(phone) INVISIBLE,
    INDEX name(first_name, last_name) comment 'By first name and/or last name'
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

O comando a seguir retorna todas as informações de índice da contactstabela:

SHOW INDEXES FROM contacts;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A saída é:

MySQL SHOW INDEXES - obtenha todos os índices

Para obter os índices invisíveis da contactstabela, adicione uma WHEREcláusula como segue:

SHOW INDEXES FROM contacts
WHERE visible = 'NO';
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Aqui está a saída:

MySQL SHOW INDEXES - obtenha índices invisíveis

Neste tutorial, você aprendeu como usar a SHOW INDEXESinstrução MySQL para obter as informações do índice de uma tabela.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *