Índice de MySQL
MySQL MySQL construir índices para uma operação eficiente é muito importante, índices pode melhorar significativamente a velocidade de recuperação de MySQL.
Por exemplo, se um projeto razoável e usar o índice MySQL é um Lamborghini, então não há nenhuma concepção e utilização do índice MySQL é um triciclo.
Índice aponta índice separado e índice de combinação. índice separado que contém somente um único índice de coluna, uma tabela pode ter índice separado múltipla, mas isso não é um índice composto. índice composto, ou seja, um cabo que compreende uma pluralidade de colunas.
Quando você cria um índice, você precisa garantir que o índice é utilizado numa condições de consulta SQL (geralmente como uma condição da cláusula WHERE).
Na verdade, o índice também é uma tabela que contém a chave e índice de campos primários e pontos para gravar a tabela de entidade.
O texto acima está falando sobre os benefícios de usar o índice, mas o uso excessivo do índice irá resultar em abuso. Portanto, o índice também tem suas desvantagens: Enquanto o índice aumentou muito a velocidade de consulta, ao mesmo tempo que irá reduzir a velocidade de atualizar a tabela, como tabela INSERT, UPDATE e DELETE. Porque a tabela de actualização, MySQL não é apenas para salvar os dados, mas também economizar cerca de arquivo de índice.
Indexação ocupa espaço em disco no arquivo de índice.
índice geral
Criar índice
Este é o índice de base, que não tem qualquer restrição. Criou das seguintes maneiras:
CREATE INDEX indexName ON mytable(username(length));
Se for CHAR, o tipo VARCHAR, o comprimento pode ser menor do que o comprimento real do campo, se BLOB e TEXT tipos, você deve especificar o comprimento.
Modificar estrutura da tabela
ALTER mytable ADD INDEX [indexName] ON (username(length))
Quando você cria uma tabela especificar diretamente
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );
Excluir sintaxe índice
DROP INDEX [indexName] ON mytable;
Índice única
É semelhante ao índice geral anterior, é diferente: o valor das colunas de índice deve ser exclusivo, mas permite valor livre. Se for uma combinação de índice, o valor da coluna deve ser único. Criou das seguintes maneiras:
Criar índice
CREATE UNIQUE INDEX indexName ON mytable(username(length))
Modificar estrutura da tabela
ALTER mytable ADD UNIQUE [indexName] ON (username(length))
Quando você cria uma tabela especificar diretamente
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
Use o comando ALTER para adicionar e excluir índices
Há quatro maneiras de adicionar tabela de dados de índice:
- ALTER TABLE nome_tabela adicionar uma chave primária (column_list ): Esta instrução adiciona uma chave primária, o que significa que o valor do índice deve ser exclusivo e não pode ser NULL.
- ALTER TABLE nome_tabela ADD index_name UNIQUE (column_list ): Esta instrução cria um valor de índice deve ser exclusivo (exceto NULL fora, NULL pode aparecer várias vezes).
- ALTER TABLE nome_tabela ADD index_name INDEX (column_list ): adicionar um índice normal, o valor do índice pode ocorrer várias vezes.
- ALTER TABLE nome_tabela ADD index_name FULLTEXT (column_list ): Esta declaração especifica o índice é FULLTEXT, para indexação de texto completo.
Os exemplos a seguir adicionar um índice na tabela.
mysql> ALTER TABLE testalter_tbl ADD INDEX (c);
Você também pode usar a cláusula DROP para remover o índice no comando ALTER. Tente os seguintes exemplos para excluir o índice:
mysql> ALTER TABLE testalter_tbl DROP INDEX (c);
Use o comando ALTER para adicionar e excluir a chave primária
Apenas agir em uma coluna de chave primária, quando você adiciona um índice de chave primária, você precisa ter certeza de que a chave primária padrão não está vazio (NOT NULL). 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 usar o comando ALTER para excluir a chave primária:
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
Basta especificar PRIMARY KEY Excluir o tempo especificado, mas quando você excluir o índice, você deve saber o nome do índice.
informações de índice de exibição
Você pode usar o comando SHOW INDEX para listar as informações de índice da tabela. Ao adicionar \ G para formatar a saída.
Tente os seguintes exemplos:
mysql> SHOW INDEX FROM table_name\G ........