o que é a indexação do mysql e como você cria um índice?

Ok, indexação do mysql. Está indexando nada mais do que ter um ID exclusivo para cada linha que será usada na cláusula WHERE?

Ao indexar uma tabela, o processo adiciona alguma informação à tabela? Por exemplo, outra coluna ou valor em algum lugar.

A indexação ocorre em tempo real ao recuperar valores ou os valores são colocados na tabela de maneira muito semelhante a uma função de inserção ou atualização?

Qualquer informação adicional para explicar claramente a indexação do MySQL seria apreciada. E, por favor, não coloque apenas um link para a documentação do mysql, é confuso e é sempre melhor obter uma resposta pessoal de um profissional.

Lastly, why is indexing different from telling MySQL to look for values between two values. For Example: WHERE create_time >= 'AweekAgo'

Eu estou perguntando porque uma das minhas tabelas é 220.000 + linhas e leva mais de um minuto para retornar valores com uma instrução muito simples MySQL select e espero indexação irá acelerar isso.

Agradeço antecipadamente.

0
Sim, a indexação tornará sua consulta muito mais rápida. Leia o documento: dev.mysql.com/doc/refman/ 5.0/pt/mysql-indexes.html
adicionado o autor Denys Séguret, fonte
Realmente ... você não poderia fornecer seus próprios pensamentos sobre isso. Você acha que eu estaria escrevendo aqui se eu entendi completamente esse doc. O stackoverflow existe para não redirecionar as pessoas para algo que elas poderiam facilmente google, e sim, para as pessoas virem e fazerem uma pergunta como se estivessem conversando com um profissional. Obrigado por não ler a minha pergunta.
adicionado o autor knittledan, fonte

3 Respostas

Há muita indexação, por exemplo, um hash, um trie, um índice espacial. Depende do valor. Muito provavelmente é um hash e uma árvore de busca binária. Nada realmente extravagante, porque provavelmente o caro é caro.

0
adicionado

Um índice de banco de dados é uma estrutura de dados que melhora a velocidade das operações em uma tabela. Os índices podem ser criados usando uma ou mais colunas, fornecendo a base para pesquisas aleatórias rápidas e ordenação eficiente de acesso a registros.

Você pode criar um índice como este:

CREATE INDEX index_name
ON table_name ( column1, column2,...);

Você pode estar trabalhando em um banco de dados mais complexo, por isso é bom lembrar algumas regras simples.

  • Índices tornam as inserções e atualizações mais lentas, portanto você deve usá-las com cuidado nas colunas atualizadas FREQUENTEMENTE.

  • Índices aceleram onde cláusulas e ordem por.

Para mais detalhes, você pode ler:

http://dev.mysql.com/doc/refman/5.0 /en/mysql-indexes.html

http://www.tutorialspoint.com/mysql/mysql-indexes.htm

0
adicionado

Você foi derrotado porque não se esforçou para ler ou pesquisar o que está pedindo. Uma pesquisa simples no Google poderia mostrar os benefícios e desvantagens de Índice de Banco de Dados . Aqui está uma pergunta relacionada no StackOverflow . Tenho certeza de que há inúmeras perguntas como essa.

Para simplificar os jargões, seria mais fácil localizar livros em uma biblioteca se você organizasse as prateleiras numeradas de acordo com sua área de especialização. Você pode facilmente dizer a alguém para ir a um local específico e escolher o livro - é isso que o índice faz

Outro exemplo: imagine uma lista de admissão ordenada alfabeticamente. Se o seu nome começar com Z, você vai simplesmente pular de A para Y e chegar a Z - mais rápido? Caso contrário, você terá que pesquisar e pesquisar e pode nem encontrá-lo se você não olhou com cuidado

0
adicionado
Algumas das minhas perguntas são facilmente pesquisáveis ​​no google, mas outras nem tanto como tentar descobrir, então vim aqui para esclarecer. Obrigado por um pouco mais de esclarecimento
adicionado o autor knittledan, fonte