Este artigo descreve principalmente como acelerar a análise de índice MySQL e a otimização de sites dinâmicos. Tutorial on-line do iSH China
1. O que é um índice?
O índiceiSH China Tutorial Online
é usado para encontrar rapidamente registros com valores específicos. Todos os índices MySQL são salvos na forma de árvores B. Se não houver índice, ao executar uma consulta, o MySQL deve varrer todos os registros de toda a tabela, começando pelo primeiro registro, até encontrar um registro que atenda aos requisitos. Quanto maior o número de registros na tabela, maior será o custo desta operação. Se um índice foi criado na coluna usada como condição de pesquisa, o MySQL pode obter rapidamente a localização do registro de destino sem verificar nenhum registro. Se a tabela tiver 1.000 registros, localizar os registros por meio do índice é pelo menos 100 vezes mais rápido do que verificar os registros sequencialmente. Tutorial Chinês iSH Online
Suponha que criemos uma tabela chamada pessoas: Tutorial Chinês iSH Online
CREATE TABLE pessoas ( peopleid SMALLINT NOT NULL, Tutorial Chinês iSH Online
nome CHAR(50) NOT NULL Tutorial Chinês Online
Então, somos completamente aleatórios Inserir 1000)
;valores de nomes diferentes na tabela de pessoas. As colunas de nome não possuem nenhuma ordem explícita no arquivo de dados. Se criarmos um índice na coluna de nome, o MySQL classificará a coluna de nome no índice. Para cada item no índice, o MySQL salva internamente um "ponteiro" para o local real do registro no arquivo de dados. Então, se quisermos encontrar o peopleid do registro cujo nome é igual a "Mike" (o comando SQL é "SELECT peopleid FROM people WHERE name='Mike';"), o MySQL é capaz de encontrar o valor "Mike" no índice de nome e vá diretamente para A linha correspondente no arquivo de dados retorna exatamente o peopleid (999) dessa linha. Durante este processo, o MySQL só precisa processar uma linha para retornar o resultado. Se não houver índice na coluna “nome”, o MySQL irá verificar todos os registros do arquivo de dados, ou seja, 1.000 registros! Obviamente, quanto menor o número de registros que o MySQL precisa processar, mais rápido ele poderá concluir a tarefa. iSH Chinese Tutorial Online
2. Tipos de índice iSH Chinese Tutorial Online
MySQL fornece uma variedade de tipos de índice para você escolher: iSH Chinese Tutorial Online
índice comum: iSH Chinese Tutorial Online
Este é o tipo de índice mais básico e não tem restrições como exclusividade . Índices comuns podem ser criados das seguintes maneiras: o tutorial on-line do iSH chinês
cria um índice, por exemplo, CREATE INDEX <nome do índice> ON nome da tabela (lista de colunas). O tutorial on-line do iSH chinês
modifica a tabela, por exemplo, ALTER TABLE nome da tabela ADD); INDEX [nome do índice]] (lista de colunas); iSH Chinese Tutorial Online
Especifique o índice ao criar uma tabela, como CREATE TABLE tablename ([...], INDEX [nome do índice] (lista de colunas));
Índice Únicodo Tutorial Chinês Online
: iSH Tutorial Chinês Online
Este tipo de índice é basicamente igual ao "índice comum" anterior, mas há uma diferença: todos os valores na coluna do índice só podem aparecer uma vez, ou seja, devem seja único. Índices exclusivos podem ser criados das seguintes maneiras: tutoriais chineses iSH online
criam índices, como CREATE UNIQUE INDEX <nome do índice> ON nome da tabela (lista de colunas); tutoriais online iSH chineses
modificam tabelas, como ALTER TABLE nome da tabela ADD UNIQUE [índice nome] (lista de colunas); iSH Chinese Tutorial Online
Especifique o índice ao criar uma tabela, por exemplo, CREATE TABLE tablename ([...], UNIQUE [nome do índice] (lista de colunas));
chave primária: iSH Chinese Tutorial Online
A chave primária é um índice exclusivo, mas deve ser especificada como "CHAVE PRIMÁRIA". Se você já usou colunas do tipo AUTO_INCREMENT, talvez já esteja familiarizado com conceitos como chaves primárias. A chave primária é geralmente especificada ao criar a tabela, como "CREATE TABLE tablename ([...], PRIMARY KEY (lista de colunas));". No entanto, também podemos adicionar chaves primárias modificando a tabela, como "ALTER TABLE nome da tabela ADD PRIMARY KEY (lista de colunas);". Cada tabela só pode ter uma chave primária. iSH Chinese Tutorial Online
Índice de texto completo: iSH Chinese Tutorial Online
MySQL suporta indexação de texto completo e pesquisa de texto completo a partir da versão 3.23.23. No MySQL, o tipo de índice de texto completo é FULLTEXT. Índices de texto completo podem ser criados em colunas do tipo VARCHAR ou TEXT. Pode ser criado pelo comando CREATE TABLE, ou pelo comando ALTER TABLE ou CREATE INDEX. Para grandes conjuntos de dados, criar um índice de texto completo por meio do comando ALTER TABLE (ou CREATE INDEX) é mais rápido do que inserir registros em uma tabela vazia com um índice de texto completo.