Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Milton Júnior

Ordem dos índices no phpmyadmin

Recommended Posts

Olá, pessoal!

 

Minha dúvida pode até ser boba para muitos, mas tá me incomodando bastante. Vou tentar explicar o melhor possível.

Utilizo o phpmyadmin pra administrar meu banco, por isso quero saber se a ordem em que os índices são criados nele, têm que seguir a mesma ordem das colunas da tabela.

Ex:

Uma tabela Carros com as colunas(id, marca, modelo, ano, cor, quilometragem, itens).

 

Digamos que inicialmente eu tenha criado somente os índices(id, marca, modelo, itens) para as consultas. Aí depois de um tempo sinto a necessidade de acrescentar as colunas(ano, cor, quilometragem), e crio os respectivos índices.

 

No final, eu teria no phpmyadmin os índices nessa ordem(id, marca, modelo, itens, ano, cor, quilometragem)

 

Ou seja, no phpmyadmin, os índices ficaram numa ordem diferente das colunas. Então minha dúvida é se essa ordem que ficou no phpmyadmin, tem alguma interferência nos selects, performance do mysql...

 

- Devo usar um select seguindo a ordem das colunas?

"Select * from Carros where id='$id', marca='$marca', modelo='$modelo', ano='$ano', cor='$cor', quilometragem='$quilometragem', item='$itens'"

 

- Ou a ordem dos índices como ficou no phpmyadmin?

"Select * from Carros where id='$id', marca='$marca', modelo='$modelo', item='$itens', ano='$ano', cor='$cor', quilometragem='$quilometragem',"

Essa minha dúvida é justamente porque tenho tabelas com muitos campos e que serão consultadas com frequência, daí tenho índices para algumas colunas inicialmente, mas posso ter que criar índices, para outras, mais adiante.

 

Já procurei informação sobre isso mas não encontrei em lugar nenhum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, a ordem do índice pode ser diversa da ordem na tabela.

 

Ao menos no Oracle , e creio que no Mysql também, a ordem dos campo no "where" não tem influência, o otimizador arruma a "bagunça".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim.

 

Pese sempre a criação de índices , eles podem melhorar as consultas mas pesam nos inserts e updates.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Essa minha dúvida é justamente porque tenho tabelas com muitos campos e que serão consultadas com frequência, daí tenho índices para algumas colunas inicialmente, mas posso ter que criar índices, para outras, mais adiante.

 

 

 

Já pensou em partir para NoSQL?

 

Quanto a sua duvida, os indices podem estar em qualquer ordem

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.