|
Um dos itens mais importantes na otimização da base de dados é a criação de índices. Com este procedimento sua consulta ficará bem mais rápida. O ideal é que crie índices em todos os campos utilizados nas cláusulas "where" e "joins" de suas queries. Para mais detalhes sobre esse procedimento, acesse o manual de referência do MySQL (português
inglês).
No PHPMyAdmin, clique no nome da sua base:
Em seguida, clique no botão "estrutura" (que fica na frente na tabela em que deseja criar um índice):
Agora basta clicar no botão "Criar índice" (na frente do campo em que deseja criar o índice):
O resultado ficará assim:
Criando índice em tabelas grandes
Geralmente quando a tabela é muito grande podem ocorrer alguns problemas no momento da criação dos índices, para contorná-los basta seguir os passos abaixo:
Faça uma copia da tabela para utilizando apenas a estrutura da mesma, para tal você pode usar o comando create table tabela_nova like table_antiga
Após a criação da tabela_nova crie os índices conforme as instruções acima
Já com os índices criados na nova tabela, vamos popular a mesma com os dados da tabela_antiga, exemplo:
INSERT INTO TABLE tabela_nova (SELECT * FROM tabela_antiga limit 0,20000), esse comando irá pegar os 20 mil primeiros registros da tabela_antiga e adicionará os mesmos na tabela_nova, e assim, você vai incrementando o select limit 20001,20000 na segunda operação, limit 40001,20000 na terceira, ...
Após a cópia de todos os dados basta alterar o nome da tabela, exemplo:
ALTER TABLE tabela_antiga rename tabela_antiga_bkp; (Backup da tabela antiga)
ALTER TABLE tabela_nova rename tabela_antiga; (Renomeando a tabel_nova)
Veja também
Links
|